关于指针的问题------新手
怎么不正确,请高手指点,由大到小输出3个字符串.#include<stdio.h>
#include<string.h>
{
char a[3][5],*b[3],p;
gets(a[3]);
for(i=0;i<2;i++)
{
if(strcmp(*b[i],*b[i+1])<0)
p=b[i];b[i]=b[i+1];b[i+1]=p;
}
for(i=0;i<3;i++)
puts(*b[i]);
}
#include <stdio.h> #include <string.h> #include <stdlib.h> #define N 3 int main() { char *p[N],q[20]; int i,j; for(i=0;i<N;i++) { p[i]=(char *)malloc(20); gets(p[i]); } for(i=0;i<N-1;i++) for(j=0;j<N-i-1;j++) if(strcmp(p[j],p[j+1])<0) { strcpy(q,p[j]); strcpy(p[j],p[j+1]); strcpy(p[j+1],q); } for(i=0;i<N;i++) puts(p[i]); system("pause"); return 0; }这样不知是否楼主需要?