对指针不够熟练、迟疑了一下才缓过神来。。
/**
*字符串学习
*字符串排序函数
*注意:注意多维数组,字符串
*
*/
void stsrt(char *str[], int i)
{
char *temp;
int top,end;
for(top = 0; top< i-1; top++)
for(end = top+1; end< i; end++)
if(strcmp(str[top],str[end]) > 0)
{
temp = str[top];
str[top] = str[end];
str[end] = temp;
}
}
void str_fun_g(void)
{
#define SIZE 20
#define LIM 4
char flower[LIM][SIZE] ;
char *addon[SIZE];
int ct = 0;
int k;
printf("input up to %d lines!\n",LIM);
while(ct < LIM && gets(flower[ct]) != NULL && flower[ct][0] != '\0')
{
addon[ct] = flower[ct];
ct++;
}
stsrt(addon, ct);
puts("\nhere's the char list!\n");
for(k = 0; k<ct; k++)
puts(addon[k]);
}
前阵子自认为理解了指针和数组,今天一道字符串排序还是迟疑好一阵子,看来还是需要多多实践才行啊。 有点疑问 为什么将宏定义在函数内 仍旧可以作用于其他函数?