int a,b;
char c;
scanf("%4d%2c%3d",&a,&c,&b);
输入987654321
结果a为9876,c为5,b为321
想知道在读入字符型变量c时发生了什么,输入的4去哪了
字符型变量只有一个位置,这么写应该本来就是不合理的,可我们作业就长这样,我不是故意的,大佬轻喷
字符型变量加域宽读入会发生什么
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
-Undefined_ 2021-12-14 23:13关注加域宽读入就是读取指定宽度的数据
%4d,从输入中读取前4位数字,即9876存到变量a中,故a为9876
%2c,从输入中读取两位字符,即'54'存到变量c中,但是变量c是字符char型,所以两位中只能保存1位,即'5','4'是作为字符读取了,但是没有保存下来;
%3d就是后面的321了本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报