自己写的程序,关于指针的题目
我先把题目打出来,再把我的代码弄出来。找出一个字符串中最大的字符并把它放在最前面,其他字符向后顺序存放,如字符串student处理后为ustdent。
我用了指针数组,以及选择排序法。但是输出乱码。语法没错,找不出来是什么原因,求解。
程序代码:
#include"stdio.h" #include"string.h" #define N 50 int main() { void max(char *ch[],int n); char *ch[50]; int i; printf("input :\n"); scanf("%c",ch); for(i=0; i<N; i++) printf("%c",ch[i]); max(ch,50); for(i=0; i<50; i++) printf("%c",ch[i]); } void max(char *ch[],int n) { int i,j,k; char *a ; for(i=0; i<N-1; i++) { k=i; for(j=i+1; j<N; j++) if(ch[k]<ch[j]) k = j; if (k!=i) { a = ch[k]; ch[k] = ch[i]; ch[i] = a; } } }