首页 > 试题广场 >

对给出的输出,下面每个程序段的输出是什么(假定ch是int类

[问答题]
对给出的输出,下面每个程序段的输出是什么(假定ch是int类型的,并且输入是缓冲的)?
a. 输入如下所示:
If you quit, I will.[enter]
程序段如下所示:
while ((ch = getchar ( )) != 'i')
putchar (ch);
b. 输入如下所示:
Harhar[enter]
程序段如下所示:
while ((ch = getchar ( )) != '\n')
{
putchar (ch++);
putchar (++ch);
}

推荐
a. 输出如下:
If you qu
注意字符I与字符i是两个不同的字符。也要注意到不会打印出i,因为循环在检测到它之后就退出了。
如果系统使用ASCII字符编码,则输出如下:
HJacrthjacrt
第一次ch的值为H。ch++使用(打印)了这个值然后把它加1(现在为I)。然后++ch先把值增加(到J)然后再使用(打印)。接着读入下一个字符(a),重复这个过程。重要的一点是要注意到两个增量运算只在ch被赋值之后影响它的值;它们不会使程序在输入队列中移动。
发表于 2018-03-18 22:33:11 回复(0)