【发布时间】:2018-10-15 06:31:39
【问题描述】:
我做对了什么?我正在尝试学习一个功能。
这应该是这样的输出:
*
***
*****
*******
我的代码:
#include <stdio.h>
#include <stdlib.h>
void pyramid (int n)
{
int width = 0;
if ( n )
{
++width;
pyramid( f, n - 1 );
for ( unsigned int i = 0; i < 2 * n - 1; i++ )
{
fprintf( f, "%*c", i == 0 ? width : 1, '*' );
}
fputc( '\n', f );
--width;
}
}
int main (int argc, char *argv[])
{
if (argc < 2)
{
printf ("usage: h4 <number>\n");
return 1;
}
pyramid (atoi (argv[1]));
return 0;
}
输出:
Python 3.6.1 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux
Traceback (most recent call last):
File "python", line 4
void pyramid (int n) {
^
SyntaxError: invalid syntax
为什么会出现这个问题?请帮我解释一下。谢谢你。我是聋 C 程序员初学者。
【问题讨论】:
-
等等...你在这里使用 C 还是 Python?代码看起来是 C,但错误消息似乎来自 Python。
-
假设您的代码位于名为 prog.c 的文件中,您应该执行 1) 使用
gcc -Wall prog.c -o prog编译程序和 2) 使用./prog运行程序(注意:但首先您需要修复编译器报告的问题) -
@Devin Morlan as 4386427 上面提到你必须使用“gcc -Wall prog.c -o prog”编译文件并修复所有错误。
-
您还需要测试
if (n > 0)而不仅仅是if (n) -
@DavidC.Rankin,我编译时它们是一样的。