
输入Harhar
输出的这一大串是怎么算的啊?
求各位解答
求各位解答
求各位解答
简单的说就是通过自增改变了ch的值,然后打印了两个操作的值。
测试如下:
参考链接:
关于C语言中自增和自减运算符的使用及注意事项_自增自减运算符可以用于常量吗-CSDN博客
文章浏览阅读2.2w次,点赞17次,收藏43次。++是自增运算符,是单目运算符,其作用是使单个变量的值增1。它有两种使用情况:1)前置:++i,先执行i=i+1,再使用i值;2)后置:i++,先使用i值,再执行i=i+1。例如:j=3; k=++j;执行“k=++j”语句后,k=4,j=4。上述语句等效为:j=3; j=j+1; k=j;再如:j=3; k=j++;执行“k=j++”语句后,k=3,j=4_自增自减运算符可以用于常量吗
https://blog.csdn.net/biubiu741/article/details/53224190
#include <stdio.h>
int main(void){
int ch; // 这里的赋值为'Harhar'不正确,去除即可
// 输入Harhar换行,前面的Harhar,会打印每个字符,以及每个字符后移两位的字符
// 当ch为'H'时,打印:HJ
// 当ch为'a'时,打印:ac
// 当ch为'r'时,打印:rt
// 当ch为'h'时,打印:hj
// 当ch为'a'时,打印:ac
// 当ch为'r'时,打印:rt
// 所以最终打印出的字符就是:HJacthjacrt
while((ch=getchar())!='\n'){ // while循环从输入获取字符,存入字符变量ch中,直到输入换行符结束循环
// https://blog.csdn.net/biubiu741/article/details/53224190
// 先打印字符变量ch,然后将++,让其变为ASCII码比ch大1的后一个字符
putchar(ch++);
// 将ch的ASCII码先+1,然后再打印ch对应的字符,因为前后共++两次,故这里打印的ch会比初始ch的ASCII码大2
// 即是初始ch字符后移2位的字符
putchar(++ch);
}
return 0;
}
