C语言程序不报错但无法运行

发布网友 发布时间:2024-10-24 16:47

我来回答

4个回答

热心网友 时间:2小时前

strcpy(temp,per[i].num);
strcpy(per[i+1].num,per[i].num);
strcpy(per[i+1].num,temp);
这里 操作的应该是name吧
所以应该是
strcpy(temp,per[i].name);
strcpy(per[i+1].name,per[i].name);
strcpy(per[i+1].name,temp);

热心网友 时间:3小时前

strcpy(temp,per[i].name);   //注意你代码写了num
            strcpy(per[i+1].name,per[i].name);
            strcpy(per[i+1].name,temp);

 还有个错误

printf("%d%s\n",per[i].num,per[i].name);  //把&去掉


输入测试样例:

1  shao  //中间加上空格,就ok

热心网友 时间:3小时前

感觉是scanf("%d%s",&per[i].num,per[i].name);

要不分开试试
scanf("%d",&(per[i].num));
scanf("%s",per[i].name);

热心网友 时间:3小时前

scanf("%d%s",&per[i].num,per[i].name);

%d 和 %s 之间要有一个空格,输入的时候,数字和字符串之间也要有一个空格

不然系统会把所有内容都放进 %d 里面,自然会报错

改成下面这样子试一试 :

scanf( "%d %s", & per[i].num, per[i].name );
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com