```#include <iostream>
#include<string.h>
using namespace std;
struct people
{
char name[10];
char num[10];
}a[10];
int main()
{
int n,i,l;
struct people t;
cin >> n;
for (i = 0; i < n; i++)
{
cin>>a[i].name;
cin>>a[i].num;
}
for (i = 0; i < n-1; i++)
{
for (l = 0; l < n - i - 1; l++)
{
if (strcmp(a[l].name,a[l+1].name)>0)
{
t = a[l+1];
a[l+1] = a[l];
a[l] = t;
}
}
}
for (i = 0; i < n; i++)
{
printf("%12s", a[i].name);
printf("%12s\n", a[i].num);
}
}****
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/040583606176189.png "#left")
给电话薄排序输出错误 为什么
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 快乐鹦鹉 2022-12-21 15:23关注
name长度太短了,你输入名字有10个字符。而name当字符串使用,实际只能存储9个字符,最后一个字符必须存储字符串结束符。但你输入10个字符后,导致name没有字符串结束符,输出时会一直找到内存后面第一个字符串结束符为止,也就是num字符串后面的结束符。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 python的qt5界面
- ¥15 无线电能传输系统MATLAB仿真问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100