所以我已经有大约一年没有用 C 写过任何东西了,今天早上我想我会写点什么。我/非常/很快遇到了问题。以下极其基本的代码无法运行:
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char* argv)
{
printf("arg is %s \n", argv[1]);
}
我收到以下错误
gcc dink.c -o dink
dink.c: In function ‘main’:
dink.c:6:2: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘int’ [-Wformat]
./dink menkmenk
make: *** [all] Segmentation fault (core dumped)
这是怎么回事?
编辑:我得到了为什么代码不起作用的答案,但我仍然想知道为什么编译器认为我在第二个参数中持有一个 int 。