【发布时间】:2012-10-21 14:48:49
【问题描述】:
为什么下面的代码不起作用?请解释一下。
#include<stdio.h>
#include<stdlib.h>
int main(int number, char arg[])
{
extern int i;
i = 5;
printf("%d",i);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
int main(int number, char arg[])
{
extern int i;
i = (int) malloc(sizeof(int));
i = 5;
printf("%d",i);
return 0;
}
【问题讨论】:
-
你需要说出你不工作的意思。链接错误?你在哪里定义
i? -
extern int i;告诉编译器i存在别处。因为,你没有在任何地方定义它,它会抱怨。 -
顺便提一下,
main()的参数是int argc, char *argv[]。如果您开始在程序中访问arg,您可能会感到惊讶。