char *str & char str[]
#include<stdio.h>
#include<string.h>
#define N 7
void sortString(char *cPtrOut[] ,char cArrayIn[N][20] );
int main(){
int i;
char array[N][20];
char *ptr[7];//7个指向字符数组的指针
for(i=0; i<7; ++i) {
scanf("%s[^\n]",array[i]);
}
sortString(ptr,array);
for(i=0;i<7;++i){
puts(ptr[i]);
}
return 0;
}
void sortString(char *cPtrOut[] ,char array[N][20] ){
int i,j;
char temp[20];//定义一个字符数组,同时为其开辟了一块空间
for(i=0;i<6;++i){
for(j=i+1;j<7;++j){
if(strcmp(array[j],array[i])<0)
{
strcpy(temp, array[i]);
strcpy(array[i], array[j]);
strcpy(array[j], temp);
}
}
}
for(i=0;i<7;i++){
cPtrOut[i]=array[i];//让这7个指针分别指向一个字符数组
}
}
char *str 中str是指针,可以让它指向一个字符数组,但不能为其赋值操作
char *str;
scanf("%s",str); //error
gets(str); //error
int *p;
*p=5; //error
char *p;
*p='a';//error