我在终端中编译和运行我的.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.
这可能是什么问题?由于编译错误,它没有运行吗?我确定我的命令是正确的,对吧..?让我知道如果你需要看到整个程序来帮助,它不会太长,我可以复制它。谢谢!
答案 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
的可执行文件。