c语言 练习题问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 12:08:33
程序
main()
{
int n=0;
char c;
while ( (c=getchar())!='2' )
n++, printf("0%c",c); printf("%d",n);
}

假如输入是1992
那么输出是

正确! 做的很好!

错误! 再做一次!

c=getchar() 输入的一个字符被赋给变量 c。
语句: printf("0%c",c) 打印 '0', 随后是字符 c。

逗号不是语句结束符。分号是语句的结束符。

不可以打印 '2'。

正确答案是: 0109093
(我是初学者 看不懂 请帮我解释下这题 以及答案 先在这里谢谢大家了)

int n=0; //定义n为整形并赋初值0
char c;//c为字符型变量
while ( (c=getchar())!='2' ) //读入一个字符就判断一次,不等于2就 执行循环体里的语句,例如输入1992,共需要判断4次
n++, printf("0%c",c); //这就是读入的字符不等于2时执行的语句:n从0开始每次加1,并打印0和该字符,所以前3次执行这语句,3次循环输出为010909,其后n=3
printf("%d",n);//最后一次判断,字符是2,不执行上述循环,而是打印n,n的值为3

综上,输出为0109093
清楚了没,我可能表达得不够好……不过就是这个意思

怎么没人回答呢?那我就来显丑一下了。
朋友,刚开始学可能都一样的,过一阵子就好。这个程序其实很简单的,是这样的:输入一个字符串后,就如你的 1992 吧。
判断“1”是否等于2,若等于2就跳出循环,输出0;不等就n自加1。第一个字符“1”不等于2,就输出0,然后判断“9”,也不等于“2”吧,就这样循环下去,最后n就是计数多少个字符不等于2用的。这里是3个嘛.看你是初学者,我也是初学者,这样你应该能看明白了吧。