这道C语言题怎么做?




第一个输入语句
%c的意思是读取一个字符,也就是1

第二个输入语句
%d是读取一个袭燃整数,1已经被读取备禅陪了,也就是23,后面的为什么不会被读取呢,因为遇到了空格。

第三个输入语句
%s是读取字符串(1个或多个任意字母、数字等)
,也就是456,由于遇到空格不再仿蠢读取,后面的789被忽略了。

所以最终运行结果为1,23,456
这个与标准输入输出有关,标准输入(如键盘、鼠标等)将输入信息流输入到输入流stdin中,stdin的类型应敏明该是FILE *的,不桥肆确定,只是按照经验分析一下,因此stdin中的内容和从文件中读取123 456 789是相同的。首先用scanf读桥消告取一个%c的变量,%c是字符,在内存中一个字节,因此读到1,然后读取%d也就是int型的变量,它是4个字节,但是scanf函数遇到空格键就停止读取了,因此只能读取到23,后边就不说了吧。。相信你已经懂了,你也可以试试用gets()读取下字符串了解下它与scanf的区别
请输入电脑运行一下就知道了,谢谢
空格空格123456789 123空格456空格789