|
发表于 2012-6-26 19:33:39
|
显示全部楼层
你这个程序 我也想了很久 但是也想不通 后来问咯群里面的 的大神们 最后 了解了 一些 你在定义 num 和 score 两个变量没有初始化 接着你 执行 while 语句 但是 编译器不知道num 和 score 两个变量什么时候被初始化 因为 编译器 不知道 你的while 会不会被执行 即时 给c初始化 了 要被执行的条件 你这个 程序也提醒了 我们 编程 初始化 是个好习惯 下面是正确的源代码 有两种 :- #include <stdio.h>
- int main()
- {
- int num=0;
- float score=0;
- char c='y';
- while(c=='y'||c=='Y')
- {
- printf("请输入学号:");
- scanf("%d", &num);
- printf("请输入分数:");
- scanf("%f", &score);
- printf("需要继续吗? Y/N:");
- getchar();
- scanf("%c", &c);
- }
- return 0;
- }
复制代码- #include <stdio.h>
- int main()
- {
- int num;
- float score;
- char c;
- do
- {
- printf("请输入学号:");
- scanf("%d", &num);
- printf("请输入分数:");
- scanf("%f", &score);
- printf("需要继续吗? Y/N:");
- getchar();
- scanf("%c", &c);
- } while (c == 'y' || c == 'Y');
- return 0;
- }
-
复制代码
|
|