想要实现从键盘输入多个字符串,为什么用二维数组可以实现,但是用字符串指针不能实现?
//1.用二维数组实现
char str[3][20];
printf("请输入字符串:\n");
for (int i=0; i<3; i++) {
scanf("%s",str[i]);
}
//2.用字符串指针实现如下
char *str[3]
printf("请输入字符串:\n");
for (int i=0; i<3; i++) {
scanf("%s",str[i]);
}
第一种方法中的str[i]存储的是第i行元素的首地址,第二种方法中的str[i]指向的是第i个字符串的首地址,但是用第一种方法可以把字符串保存到二维数组中,但是用第二种方法会报错,为什么呢? |
|