一个关于指针的问题 !
用指针操作将输入的五个字符串按由大到小的顺序输出。
我的这个是我理解你的意思所做的不知道符合你的要求吗
程序代码:
#include<string.h> main() { int a=0; char *b="hehe",*c="haha"; a=strcmp(b,c); if(a>1) printf("%s\n",b); if(a<1) printf("%s\n",c); }
要是不对就再问
#include <stdio.h> #include <string.h> void main() { int i; char x[20]; char *tmp=x; char *cs[6]; char **p=cs,**q=cs; for (i=0;i<5 ;i++ ) { cs[i]=new char(20); } p[5]=NULL; while(*p) { scanf("%s",*p);*p++; } p=cs; while(*p) { q=p+1; while(*q) { if (strcmp(*p,*q)<0) { strcpy(tmp,*p); strcpy(*p,*q); strcpy(*q,tmp); } *q++; } *p++; } puts("ordered:"); p=cs; while(*p) { puts(*p);delete(*p);*p++; } }
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <assert.h> static int cmpstringp(const void *p1, const void *p2) { return strcmp(* (char * const *) p1, * (char * const *) p2); } int main(int argc, char *argv[]) { int j; assert(argc > 1); qsort(&argv[1], argc - 1, sizeof(char *), cmpstringp); for (j = 1; j < argc; j++) puts(argv[j]); exit(EXIT_SUCCESS); }