C语言问题(3-5-2)

来源:百度知道 编辑:UC知道 时间:2024/05/22 00:55:45
#include"stdio.h"
main()

char c;
scanf("%4c",&c);

上面程序输入ABCD后,执行结果为 x=A
为什么不是 x=ABCD

上面的程序可以执行吗?
一个算法至少有一个输出语句!!!
这是程序的必要条件啊。。。。
还有执行结果应该是c=?啊
还是说说吧

scanf("%4c",&c);
是一个格式输入语句:前面的%4c是格式控制的字符4是宽度,而不是说能放4个字符,而是说明输出的格式是4个宽度。。。
剩下的就是和楼上的一样了。。。
只能接受一个字符,因为你定义的是字符变量

变量c只是字符串的数据,在c语言中由一个字节来存储,
是无法存储ADCD这四个字符的,只能存一个!

因为C是一个char类型,只能存储一个字符,无论你输入多少个字符,都只能取最前面的一个;如果想保留所有输入的字符串,你要定义一个数组来保存

char是子符不是字符串

因为C是一个char类型,只能存储一个字符,无论你输入多少个字符,都只能取最前面的一个;如果想保留所有输入的字符串, 用字符数组,比如c[4]。