花札 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 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算