我一直试图弄清楚为什么我的代码继续说第5行有错误.我已多次检查它但我不确定以下代码的语法是什么错:
#include <stdio.h>
void drawTriangle(int size){
for(int i=1; i<=size; i++){
for(int j = 1 ; j <=size-i; j++){
printf(" ");
for(int j = 1; j <= 2*i-1;j++){
printf("*");
}printf("\n");
}
}
}
int main(void ){
drawTriangle(1);
drawTriangle(5);
drawTriangle(6);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
该错误解释了第5行附近的意外标记'('和第5行的语法错误,其中显示'void drawTriangle(int size){'
您正在尝试将C源作为shell脚本运行,但这不起作用.首先必须将源代码编译为目标文件,将目标文件链接到可执行程序,然后运行完成的程序.
我建议你试试这些命令:
$ gcc -Wall -std=c99 -c test.c -o test.o
$ gcc test.o -o test
$ ./test
Run Code Online (Sandbox Code Playgroud)
对于像你这样只有一两个文件的简单程序,你可以在一个命令中编译和链接:
$ gcc -Wall -std=c99 test.c -o test
$ ./test
Run Code Online (Sandbox Code Playgroud)
顺便说一句,在POSIX环境(如Linux或OSX)中命名可执行程序通常是一个坏主意test,因为还有一个标准的shell命令也被调用test,如果你编写test而不是./test你,那么很可能会使用标准程序和不是你自己的.