首页 > 试题广场 >

找出下列程序的错误。 define B booboo

[问答题]
找出下列程序的错误。
define B booboo
define X 10
main (int)
{
int age;
char name;
printf ("Please enter your first name. ");
scanf ("%s", name);
printf ("All right, %c, what's your age?\n", name) ;
scanf ("%f", age) ;
xp = age + X;
printf ("That's a %s! You must be at least %d.\n", B, xp);
rerun 0;
}

推荐
下面是一个正确的版本:
#include <stdio.h>                      /* 不要忘记包含要用到的头文件        */
#define B "booboo"                    /* 添加了#和双引号                            */
#define X 10                               /*添加了#                                           */
int main (void)                             /不是main (int)                                  */
{
int age;
int xp;                                     /* 声明所有的变量                             */
char name[40];                      /* 使之成为一个数组                          */
printf ( "Please enter your first name.\n"); /*为了可读性,使用了\n  */
scanf ( "%s", name);
printf ( "All right, %s, what's your age?\n", name);  /* %s打印字符串 */
scanf ( "%d", &age);  /*  %d,而不是%f; &age,而不是age                */
xp = age + X
printf ( "That's a %s! You must be at least %d.\n", B, xp);
return 0;                /*不是rerun                                                           */
}

发表于 2018-05-05 22:27:03 回复(0)
1. int main(),定义函数类型
2. char name[],name是字符串,应该用字符数组存储
3. scanf(),需要变量前加 &
4. age 类型是 int ,应该用 %d表示
5. 未定义 xp
6. #define B "booboo"
7. return 0
8. "All right, %c, what's your age?\n",name 应该用 %s 表示

编辑于 2021-10-20 20:43:58 回复(0)