c语言关于指针数组的一个小问题

2024-11-28 19:41:49
推荐回答(3个)
回答(1):

你好!首先你要知道指针数组的每一个元素都表示一个指针,而指针其实就是一个地址,字符串的输入输出所用的参数都是地址,比如说:
char str[20];
scanf("%s",str);
printf("%s",str);
这里的str就是一个地址,等同于你的程序中的指针数组的一个元素,而用了*后,系统将找不到字符串的首地址,从而有错。
全手打,请采纳!

回答(2):

char *weekname[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};

是定义一个指针数组,该数组每个元素是一个指向字符串常量的指针,输出时是按%s格式输出,只需提供字符串常量的首地址即可,即数组元素的值。

回答(3):

字符数组,输出的时候是不需要*的,如果你加上*的话只会输出数组的第一个元素,不如sunday,这个的话,只会输出s