//输入如下:
Harhar[enter]
//程序段如下:
while ((ch = getchar()) != '\n')
{
putchar(ch++);
putchar(++ch);
}
//程序段的输出是什么。
//我得到的输出是Ibsibs。
//我的思路是
putchar(ch++); //H不变,使用后加1
putchar(++ch); //提前加1,H变成I
//循环上面的效果,得到的输出是Ibsibs。
//正确的思路:
//先输出一个字符H
putchar(ch++); //H不变,打印H后加1,H变成I
//putchat()函数的副作用是打印
//H不变,打印完H后加1
putchar(++ch); //H前面变成I,提前加1,I变成J,打印J
//I加1变成J,打印J
//循环上面的程序段,输出是HJacrthjacrt。
//学到的经验
//一个简单的表达式语句也会有,各个不同的功能。 //重点 putchar()函数功能是打印,ch++功能是使用后加1。
//不要因为两个连续相同的函数putchar(),而忽略了putchar()函数的两次负作用效果。
//C程序运行实际上是,数据流。不要断流。