Xelaydna 2017-12-04 14:47 采纳率: 100%
浏览 714
已采纳

scanf输入 tom 15 male 大佬看下错误原因是什么

#include
void main()
{
int age;
char a[3],b[5];//如果我换成a[3],b[4]就不行了
scanf("%s%d%s",a,&age,b);
printf("Student [name='%s', sex='%s', age=%d]",a,b,age);
}

换成a[3],b[4]输出结果图片说明

  • 写回答

4条回答 默认 最新

  • s_listening 2017-12-04 15:05
    关注

    定义的字符数组长度要大于要输入的字符串,因为存储时要在字符串后面加一个'\0'作为结束符

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 请问如何在openpcdet上对KITTI数据集的测试集进行结果评估?
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗