C语言 小问题。

本文详细解析了C语言中putchar函数的使用及副作用,通过实例代码演示了字符输出过程中ch++与++ch的区别,揭示了数据流运行原理,帮助读者理解putchar函数的两次副作用效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//输入如下:
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程序运行实际上是,数据流。不要断流。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值