while循环没看懂帮帮忙
各位大神~~~ 帮帮忙。 这个程序的运行结果我看不懂啥意思。#include <stdio.h>
int main()
{
int n = 0;
printf("input a string:\n");
while(getchar()!='\n');
{
n++;
}
printf("%d\n", n);
return 0;
}
运行结果如下:
input a string:
asdfasdf //这个是我随便输入的
1 // 1是结果 我给改成 while(getchar()=='\n'); 或 while(getchar()=='aaaa'); 结果都是1
Press any key to continue
#include <stdio.h>
int main()
{
int n = 0;
printf("input a string:\n");
//while(getchar()!='\n');
while(getchar()!='\n')
{
n++;
}
printf("%d\n", n);
return 0;
}
牡丹花下死做鬼 发表于 2015-3-4 15:06
我怎么没看到不一样的。。。 freeparty 发表于 2015-3-4 19:22
我怎么没看到不一样的。。。
区别在while()后面的那个分号,好好看。 freeparty 发表于 2015-3-4 19:22
我怎么没看到不一样的。。。
后面的分号表示while循环语句的结束 ANDES 发表于 2015-3-4 19:45
区别在while()后面的那个分号,好好看。
谢谢 我也刚刚看这个。自己先写的,再看他的。
都一个效果。
#include<stdio.h>
void main()
{
int a=0;
char c;
puts("请输入一行字符");
while(1)
{
c=getchar();
if(c=='10')
break;
else
a=a+1;
}
printf("此行字符长度为%d",a);
} 很难发现啊,这种失误编译器还没法检测 多谢各位大神帮忙 小错误。。。 哈哈,我也遇到过这种问题 这个是一个对输入字符的计数,你在while后多了一个逗号,相当于循环体是空语句而不是n++
while 循环后的!有问题 区别在while()后面的那个分号,好好看。 看来这也是对我的以后的一种提醒{:7_113:}
页:
[1]