C语言,while(putchar('a')!='?')什么意思?

如题所述

a在这里是个变量,但是楼主没有给出是什么类型的。这条语句首先执行a+'A',再执行putchar()函数。若a是个整形变量,如a=1,a+'A'就是66,输出字符结果就是B;若a是个字符变量,如a='!',则a+'A'就是33+65=98,输出字符就是b;若a是个字符串指针,如char *a="12345";那就是a指针的整数地址值加上65,再输出该整数
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-17
如果拿它作循环语句,那么它就是一个死循环putchar('a')!='?'是0(假),而putchar('a')=='a'是1(真),当然以上情况是假定putchar('a') 不返回EOF(没有IO错误)前提下作出的。剩下的等我调试好我的机器再给你演示追答

这么长时间应该清楚这个函数是干什么的吧(清楚了就请自动忽略我的这条回答,谢谢)(事实上它在多数的c语言头文件实现中,它putchar很有可能只是一个宏),
不是很清楚你想问什么,但是可以给你演示一下putchar('a')的返回值是什么:

上图十分清楚,putchar('a')先被调用输出了'a' 这一个字符,然后返回值供printf使用,而printf函数输出了一个"\n"在该返回值前,于是第二个'a'其实是putchar('a')的返回值。

追问

谢谢!!!

相似回答