安徽基层特岗吧:请各位高手帮忙吧

来源:百度文库 编辑:中科新闻网 时间:2024/05/03 08:54:41
#include <stdio.h>
void main()
{
char c1,c2,c3;
scanf("%c%c%c",&c1,&c2,&c3);
printf("%s",c1,c2,c3);
getch();
}
请告诉我结果,还有结果为什么是那样,谢谢了!!!!!!!!

结果打印出来除了前3个字符是你输入的外,后面会输出一堆乱码,原因出在你使用%s作为输出控制符,这个控制符会输出到它碰到第一个'\0',也就是数字0为止,而你3个字符没有'\0'来结尾,所以输出c3后它会继续输出后面内存里面的未知东西,如果你想这么输出,那么在后面补0就正常了:
printf("%s",c1,c2,c3,'\0');