为什么这段C代码执行之后结果为1245?

图片描述

#include <stdio.h>
main()
{char c1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar(); c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
阅读 2.5k
2 个回答

首先1,2,3分别是c1,c2,c3值,然后回车是c4的值,之后4,5是是c5,c6值,所以输出为1,2,4,5

你可以将c4按整型格式输出发现它对应的就是ascii的10

代码千万别这么写。。

scanf输入字符会读入回车、空格、tab,输入字符串则会忽略。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题