输入五个国家的名字,按字母顺序(即ASCII码)从小到大的顺序排列输出,我程序错在哪里?求高手帮忙

2025-02-27 01:07:50
推荐回答(2个)
回答1:

你定义的可输入的国家名的存储空间只有8个字符,如果你有9个字符的国家名,数组越界。死了

for(i=0;i<5;i++)
for(j=0;j<5-i-1;j++) ////// 这里要多-1,因为你的比较是 和+1比较
if(NAME[j].name[0]>NAME[j+1].name[0])//大数下沉

回答2:

字符对比要用 strcmp, 你这样对比只不可行的

if(NAME[j].name[0]>NAME[j+1].name[0])