printf("%s\n%s\n%s\n",str1,str2[0],str2[1],*str3[0]);
"
你要实现什么呢???
char *str1[20] 表示 a array of pointer point to char。也就是包含 20 个指针的数组。
printf("请输入三个字符串:\n");
scanf("%s",str1);
相当于
scanf("%s", &str1[0]);
str1[0] 是数组所包含的第一个指针,难道你想把字符串赋予一个指针吗?
正确的定义是:
char str1[20], str2[20], str3[20];
表示定义一个包含20个字符的数组。
或
char (*str1)[20], (*str2)[20], (*str3)[20];
这是数组指针, str1 is a pointer point to a array which include 20 charaters.