当我尝试在我的新项目中列出我的数组内容时遇到了问题。所以问题是,当我列出数组的内容时,它会写入随机数而不是正确的内容。计数器工作正常,一切正常,只有这个功能无法正确输出:/
列出功能:
typedef struct {
int cikkszam;
char nev[40];
int ar;
} data;
int lista(int listadb, data adat[]) {
int j = 0;
int i = 0;
system("cls");
for(i = 0; i < listadb; i++) {
for(j = i + 1; j < listadb; j++) {
if (adat[i].cikkszam > adat[j].cikkszam) {
data temp = adat[i];
adat[i] = adat[j];
adat[j] = temp;
}
}
}
for (i = 0; i < listadb; i++) {
printf ("%-15d \t %-15s \t %-15d\n", adat[i].cikkszam, adat[i].nev, adat[i].ar);
}
system("pause");
}
输出是这样的: enter image description here
提前感谢您的帮助!
答案 0 :(得分:0)
您的代码:
#include <stdio.h>
typedef struct {
int cikkszam;
char nev[40];
int ar;
} data;
int lista(int listadb, data adat[]) {
int j = 0;
int i = 0;
//system("cls");
for(i = 0; i < listadb; i++) {
for(j = i + 1; j < listadb; j++) {
if (adat[i].cikkszam > adat[j].cikkszam) {
data temp = adat[i];
adat[i] = adat[j];
adat[j] = temp;
}
}
}
for (i = 0; i < listadb; i++) {
printf ("%-15d \t %-15s \t %-15d\n", adat[i].cikkszam, adat[i].nev, adat[i].ar);
}
//system("pause");
return 0;
}
int main() {
data d[] = {
{1, "abc", 3},
{4, "def", 5,},
{567, "fdsaf", -35,},
{-1231, "aaaaa", 32135,},
{-333, "bbbb", 654,},
};
lista(sizeof(d)/sizeof(d[0]), d);
return 0;
}
给我以下输出:
-1231 aaaaa 32135
-333 bbbb 654
1 abc 3
4 def 5
567 fdsaf -35
您提供的代码工作正常。我的猜测可能只是错误在您提供的源代码之外的某处。