花札 2019-10-16 01:15 采纳率: 0%
浏览 156

为啥同样一段代码,在g++下AC了,c下面就是WA?求解

题目截图:

图片说明

#include <stdio.h>

int main(int argc, char const *argv[])
{
    int number=0;
    scanf("%d", &number);
    char id[34];
    while( number-- ) {
        id[34]=0;
        scanf("%s", id);
        printf("He/She is from ");
        if(id[0]=='3'&&id[1]=='3') printf("Zhejiang");
        else if(id[0]=='8'&&id[1]=='1') printf("Hong Kong");
        else if(id[0]=='8'&&id[1]=='2') printf("Macao");
        else if(id[0]=='1') printf("Beijing");
        else if(id[0]=='2') printf("Liaoning");
        else if(id[0]=='3') printf("Shanghai");
        else if(id[0]=='5') printf("Tibet");
        else if(id[0]=='7') printf("Taiwan");
        printf(",and his/her birthday is on ");
        printf("%c%c,%c%c,%c%c%c%c based on the table.\n",id[10],id[11],id[12],id[13],id[6],id[7],id[8],id[9]);
    }
    return 0;
}

这傻瓜解法放这儿怪不好意思的……
反正就是在g++下通过了,但是我选c他就是wrong answer,为什么呀,有没有朋友帮忙解答一下,谢谢

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-10-16 09:54
    关注
    fflush(stdin);
    scanf("%s", id);
    这样写看看
    
    id[34]=0;
    这个越界了
    id[33]='\0'; 或者 char id[35];
    
    评论

报告相同问题?

悬赏问题

  • ¥15 用PLC设计纸袋糊底机送料系统
  • ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 github训练的模型参数无法下载
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页