#include
#include
using namespace std;
int main() {
char *p[10];
char a[10];
int j;
int k;
int i;
for (i = 0; i cin >> a;
for (j = 0; (j if (i == j)
strcpy(p[j], a);
else {
for (k = i; k>j; k--)
strcpy(p[k], p[k - 1]);
strcpy(p[j], a);
}
}
cout << endl;
for (i = 0; i<10; i++)
cout << p[i] << endl;
return 0;
}
把*p[10]换为p[10][10]就可以
那么为什么*p[10]不可以??
[]优先级比*高啊,要改成(*p)[10]
这是源码#include #include using namespace std; int main() { char * p[10]; char a[10]; int j; int k; int i; for(i = 0; i> a; for (j = 0; (jj; k--) strcpy(p[k], p[k - 1]); strcpy(p[j], a); } } cout << endl; for (i = 0; i<10; i++) cout << p[i] << endl; return 0; } 原因是未给指针分配内存吧