在Mac终端上编译和运行C程序时出错

时间:2015-06-16 00:23:16

标签: c c99

我在终端中编译和运行我的.c文件时遇到了一些麻烦。首先,在编译时,我看到:

HW3.c: In function ‘main’:
HW3.c:87:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
 for(int j = 0; j < 10; j++) {
 ^
HW3.c:87:5: note: use option -std=c99 or -std=gnu99 to compile your code
HW3.c:100:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
 for(int j = 0; j < 10; j++) {
 ^

我在程序开始时声明并分配了所有变量,包括j,所以我不确定为什么我看到有关'for'循环初始声明的错误。

其次,在尝试运行我的程序时,我输入:

./a.out HW3.c

并查看错误

./a.out: Command not found.

这可能是什么问题?由于编译错误,它没有运行吗?我确定我的命令是正确的,对吧..?让我知道如果你需要看到整个程序来帮助,它不会太长,我可以复制它。谢谢!

2 个答案:

答案 0 :(得分:1)

如果已在程序开头声明j,则删除int的{​​{1}}部分:

for (int j

可以在for循环中声明 for(j = 0; j < 10; j++) { ,正如你似乎试图做的那样,但你需要告诉你的编译器支持更新的C标准版本。

答案 1 :(得分:0)

您需要在编译器选项中添加更新的C标准修订版。尝试添加标记--std=c99,它应该可以正常工作。

至于你的第二个问题,a.out是编译器生成的可执行文件。如果程序中存在错误,则不会产生可执行文件,因此您必须修复错误。

您还可以使用-o标志指定可执行文件的名称:

gcc -std=c99 HW3.c -o HW3

这将生成一个名为HW3的可执行文件。