发布网友 发布时间:2022-04-23 10:45
共4个回答
热心网友 时间:2023-10-11 17:20
你的程序有三个问题,
一while循环的条件不用加双引号
二while语句末尾不能加分号
三换行符是"\n"不是"/n"
改正后完整的C语言程序如下(改动的地方见注释)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i=0;
while(i<10)//这里去掉"i<10"的双引号和末尾的分号
{
printf("i=%d\n",i);//这里斜杠n改成反斜杠n
i++;
}
return 0;
}
热心网友 时间:2023-10-11 17:21
"很简单的代码应该没错"这句话是没错。但是代码有错(且错了三处)。
1)while后面的逻辑表达式应该是没有双引号的,否则不能起到逻辑判断的作用。现在加了双引号后,导致它是一个指向字符串的指针(总不等于0的),所以被系统判断为“真”,于是就循环了。
2)这个循环语句这一行的末尾不应该加分号,加了分号表示while循环已经结束(但是你循环的内容什么也没写,于是导致什么都没有输出),因为判断循环的条件没有更改,所以就导致一旦进入循环,就是一个“死循环”。
3)输出语句中'\n'原本是表示一个换行符,但是写成/n就只能照原样输出了(起不到换行的作用了)。
建议按下图修改:
热心网友 时间:2023-10-11 17:21
while语句内部是表达式,不能加双引号,其次while后面不能加引号,不然后面的循环语句不会循环执行,最后,输出语句printf内部应该是\n热心网友 时间:2023-10-11 17:23
不要急于写代码,要把语法弄明白再说。这里有显然的错误