执行下列程序是输入,123<空格>456<空格>789<回车>,输出的结果是?
main()
{char s[100];
int c,i;
scanf("%c",&c);
scanf("%d",&i);
scanf("%s",s);
printf("%c,%d,%s\n",c,i,s);
}解释一下,谢谢你们
2条回答 默认 最新
- 独木阳关 2015-09-05 05:02关注
输出的结果为
1,23,456
因为char类型本身为一字节,存储的类型也是单个字符,在C语言中,当输入超出数据类型时,自动认为输入完成。所以当输入123时,其实在1之后就已经完成了对char类型数据的输入,后边的23是对int类型的输入,因为输完23和输完456之后有空格,标志着输入结束,所以最终结果为
1,23,456解决 10无用