怎么putchar是这样???

来源:百度知道 编辑:UC知道 时间:2024/06/30 16:08:44
#include<stdio.h>
main()
{char ch,ch1;
ch='A';
putchar('*');
putchar('\n');
putchar(ch);
ch1=putchar(ch+2);
putchar(ch1);
}
输出的结果为什么是
*
ACC
我觉得应该是一个C啊 怎么是两个那个是怎么出来的啊???谢谢了

“A”赋值给ch,你应该有C语言的参考书吧,那后面的备注有个ascii码。putchar是C语言中,这题中计算机首先判断CH的ascii码值,然后把ascii码值所代表的字符输出出来,A的ascii码值是065,在计算中加2,CH1的ascii码就变成了067,067所代表的字符是C所以输出的是C。

你说的为什么是ACC,前面的“*”然后“、”(换行)应该知道了吧?
计算机中只要遇到了putchar()就会输出putchar里面的值,
所以在第七行中putchar(ch)就是输出一个A,(注意没有换行)
第八行中的ch1=putchar(ch+2)代表的意思是输出“ch+2”并把ch+2的值赋给ch1
所以这里输出了个 C(这里也没有换行)
第九行又输出了个 C。 所以结果是 ACC

putchar(ch); //输出ch,此时等于‘A’
ch1=putchar(ch+2); //计算'ch+2'并输出,同时赋给ch1 结果‘C’,ch1等于‘C’
putchar(ch1); //输出ch1,此时等于‘C’