【发布时间】:2020-05-09 17:31:31
【问题描述】:
我有这个代码:
#include <stdio.h>
int main(){
char a[] = "ciao";
char *aPtr = a;
printf("%s\n", *aPtr);
}
它给了我这个警告:
8:17: warning: format specifies type 'char *' but the
argument has type 'char' [-Wformat]
printf("%s\n", *aPtr);
~~ ^~~~~
%c
1 warning generated.
如果我运行它,我会遇到分段错误
Segmentation fault: 11
为什么?
【问题讨论】:
-
删除
*:printf("%s\n", *aPtr);->printf("%s\n", aPtr);。正如错误所说,当需要char*(对于%s)时,您正在传递char。
标签: c arrays string pointers char