请问C语言的代码错在哪里了?

统计从键盘输入一行字符的个数
#include<stdio.h>
void main()
{
int n;
n=0;
printf("input a string: \n");
while(getchar()!='\n');
{
n++;
}
printf("%d\n",n);
}
运行后,输出总是为1,为什么

第1个回答  2013-06-08
while(getchar()!='\n'); 这个分号是多余的,直接就截断了循环
第2个回答  2013-06-08
while(getchar()!='\n');
//后面多了个分号

我还分析了半天不应该啊,怎么会总是1呢本回答被提问者采纳
第3个回答  2013-06-08
while(getchar()!='\n')
我觉得这里是不是不能使用‘\n’呀,这是一个转义字符,只是在输出的双引号里才有效是吗?如果在这里做对比的话,我建议用ASCII码,这个可保证万无一失。
不过我多年未用C了,所以可能记得不太清楚了。只是建议。
第4个回答  2013-06-08
printf("input a string: \n");

getchar();

while(getchar()!='\n');

应该是之前有个换行符的关系吧,你先读掉它应该就没问题了
第5个回答  2013-06-08
用gets()函数吧,你可能中间有空格 gets(s)
当s 不等于 \n的时候一直加就好了。

为什么C语言代码会报错
内存错误:C语言没有自动内存管理功能,需要程序员手动分配和释放内存。如果内存分配不正确或者越界访问,就会报错。例如,数组越界访问、野指针等。逻辑错误:代码逻辑错误是指程序按照设计要求运行,但是结果不符合预期。这种错误通常是由于代码实现上的问题引起的,例如条件语句的判断条件不正确、循环语句的循...

这个c语言代码错哪里了?
C编译的程序对语法检查并不像其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。看着有错的程序,不知该如何改起,通过对C的学习,积累了一些C编程时常犯的错误,以供参考...

一段C语言代码不知道错哪儿了,请高手指教
编译错误,一般是语法有问题,程序在编译是就产生错误不能编译成目标文件,比如包名或内部类名写错误等等。运行错误,就是程序通过编译,却在运行时出错,一般是逻辑上的问题,比如数组越界,空指针等等。比较常见的运行时错误是在做除法运算时所产生的“除数为零”错误。如下列 VB 代码:Dim a As Doubl...

c语言:如图,请问一下哪里出错了?
首先解答一下这个C语言代码出错的原因:第一个gets未定义:出现这个错误一般是没有包含相应的头文件,或者库里没有这个函数。这里应该是没有这个函数。gets(char *dest)是一个老的库函数,采用这个函数存在越界的安全隐患。它只有一个参数,如果输入的字符个数超过dest内存空间,程序可能失败,也可能被黑客...

请问这段C语言的代码错在哪里?百思不得其解。初学者一枚
第2句 int main(); 去掉分号;第6句 int C = 5*(F - 32)\/9; 去掉int 变量C已经定义了 完整如下:include<stdio.h>int main(){int F,C = 0;scanf("%d",&F);C = 5*(F - 32)\/9;printf("Celsius = %d\\n",C);return 0;} ...

为什么c语言程序在运行时出现错误?
出现这个报错的原因是:代码输入过程中出现全角输入,将代码中括号、分号等用半角字符替换即可。根据题目给出的提示,请检查一下第51行代码,将51行代码中出现的全角符号替换成半角字符,或者输了重新输入就行。

自己编写的C语言程序 哪里错了?求教
错误代码是这一句s=1\/2*(a+b+c); 乘和除优先级是一样的,程序计算时相当于s=(1\/2)*(a+b+c); 默认1和2都是整形,即(1\/2)为0,这样不管(a+b+c)是多少,s都等于0 可以把1或2修改为1.0或2.0程序就认为(1\/2)是浮点数,值为0.5,这样s就可以算出正确的结果 include<stdio.h...

这个C语言的代码哪里错了?谢谢
源程序保存时选择的中文编码有问题了,注意换一下编码保存试试就会好。可以用ultraedit来另存一下,看编码是什么,一般有ansi\/ascii 和utf8、utf16,跟你的操作系统和编译器的环境有关。

c语言哪里出错了
在写for循环时错写成for(i=1;i<100;i++)这样100就没有加进去了,这就是逻辑错误。逻辑错误的查找通常采用调试的方式。比如,在Visual Studio C++中,你可以在运行结果不正确的代码段中设置断点,调试运行(F5),单步执行程序,观察执行过程中变量的值,直至找到出错的地方。

请大家帮忙一下!请看我的C代码什么地方错误了
自已写好代码后多在机子去调试,认真想想为什么会错?不要为得出结果而上机输入代码去验证,一定要分析错的原因!五,C语言对英语的要求 其实英语不好并不影响C语言的学习,因为C语言的英语都是些关建字,很容易记,看多了就知道了!另外谭浩强的《c语言程序设计>>这本书也很不错的,你可以到学校的图书馆...

相似回答
大家正在搜