C语言程序运行求解答
#include<stdio.h>和。。。。。。。voidmain(){charc;c=getchar();while(c!='\n')putchar(c);putcha...
#include <stdio.h>
和。。。。。。。
void main(){char c;c=getchar();while(c!='\n')putchar(c);putchar('\n');}
结果差别为什么这么大,运行过,或看懂的请回答 展开
和。。。。。。。
void main(){char c;c=getchar();while(c!='\n')putchar(c);putchar('\n');}
结果差别为什么这么大,运行过,或看懂的请回答 展开
4个回答
展开全部
先说第一个,第一个是while((c=getchar()) != '\n')
putchar(c);
注意这里((c=getchar()) != '\n'这个是循环判断条件,就是说计算机接收到的字符不等于换行符的时候,执行循环,一般用来提示用户输出了错误的字符
然后第二个
void main()
{
char c;
c=getchar();
while(c!='\n')
putchar(c);
putchar('\n');
}
这里c = getchar();是在while上面,也就是说这里只接收到了一个字符,然后如果这个不是换行符的话,就输出,如果不是,程序就结束了。如果你想要跟上面第一个达成一样的效果的话,那第二个程序要再加一句
改成这样:
void main()
{
char c;
c = getchar();
while(c != '\n')
{
putchar(c);
putchar('\n');
c=getchar();
}
纯手打,望采纳,以前我也遇到跟你一样的问题,不懂继续追问
putchar(c);
注意这里((c=getchar()) != '\n'这个是循环判断条件,就是说计算机接收到的字符不等于换行符的时候,执行循环,一般用来提示用户输出了错误的字符
然后第二个
void main()
{
char c;
c=getchar();
while(c!='\n')
putchar(c);
putchar('\n');
}
这里c = getchar();是在while上面,也就是说这里只接收到了一个字符,然后如果这个不是换行符的话,就输出,如果不是,程序就结束了。如果你想要跟上面第一个达成一样的效果的话,那第二个程序要再加一句
改成这样:
void main()
{
char c;
c = getchar();
while(c != '\n')
{
putchar(c);
putchar('\n');
c=getchar();
}
纯手打,望采纳,以前我也遇到跟你一样的问题,不懂继续追问
展开全部
前面一个,c=getchar()在循环体中,每次循环都会读字符,读到回车,退出循环;
后面一个,c=getchar()不在循环中,只读一次。这一次读到的是回车,就不经过循环,输出一个回车后退出;如果读到的不是回车,就会无限次输出这个字符,停不下来。死循环。
后面一个,c=getchar()不在循环中,只读一次。这一次读到的是回车,就不经过循环,输出一个回车后退出;如果读到的不是回车,就会无限次输出这个字符,停不下来。死循环。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第二个程序中c的值一直是第一次你获得的值,并没有改变。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询