求代码错误 为什么没有输出?
#include <stdio.h>int main()
{
int i = 1,sum = 0;
while (i <= 100);
{
sum = sum + i;
i = i + 1;
}
printf("结果是%d",sum);
return 0;
}
不输出东西? 你的代码中存在一个常见的错误,那就是在 while 循环后面误加了一个分号。这个分号导致了 while 循环体为空,也就是说,程序会一直执行 while (i <= 100); 这个空循环,直到 i 大于 100。但是,由于 i 的值在这个循环中并没有改变,所以这个循环会无限进行下去,也就是所谓的无限循环。
你应该将代码修改为以下形式:
#include <stdio.h>
int main() {
int i = 1, sum = 0;
while (i <= 100) {
sum = sum + i;
i = i + 1;
}
printf(\"结果是%d\", sum);
return 0;
}
在这个修正后的代码中,while 循环后面没有分号,所以 sum = sum + i; 和 i = i + 1; 这两行代码会在 i 小于或等于 100 的情况下反复执行。当 i 大于 100 时,循环结束,然后程序会打印出 sum 的值,也就是 1 到 100 的和。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案 代码中的问题在于 while 循环后面多了一个分号,导致循环体为空,而下面的语句块则不在循环体内,因此只执行了一次,没有进入循环,导致程序没有输出结果。修改后的代码如下:
#include <stdio.h>
int main()
{
int i = 1, sum = 0;
while (i <= 100)
{
sum = sum + i;
i = i + 1;
}
printf("结果是%d", sum);
return 0;
}
同时建议在 printf 函数中加上换行符,方便观察输出结果。 你好,这段代码缺少了输出语句的 {} 花括号。
把 while (i <= 100); 的分号去掉即可,同时要在输出语句前加一个大括号:
#include <stdio.h>
int main() {
int i = 1, sum = 0;
while (i <= 100) {
sum = sum + i;
i = i + 1;
}
printf("结果是%d", sum);
return 0;
}
注意在输出语句中,要使用 %d 格式符来表示输出整数类型的变量。如果是其他类型的变量,需要使用相应的格式符。
希望能帮到你。
球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:} while后不加;
页:
[1]