问题代码如下:(ps:用C-Free编译)
#include
int main (void )
{
char s[]="txt";
short n;
printf ("%s\n",s);
scanf ("%d",&n);
printf ("%d%s",n,s);
return 0;
}
解果如下
如果将上面的short型改为int型便是
可以看出两次结果中的不同,前一次字符数组s第二次输出为空,第二次s便正常输出了,询问这是怎么一回事??是因为short不能用整型输入输出吗??
不是,因为标准定义short短整型变量不得低于16位,即两个字节,而int 4个字节。
是因为数据位截止了,存不下了