程序简要概述(3体问题):
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
double ax, ay, t;
double dt;
/* other declarations including file output, N and 6 command line arguments */
...
int main(int argc, char *argv[])
{
int validinput;
...
/* input validation */
output = fopen("..", "w");
...
/* output validation */
for(i=0; i<=N; i++)
{
t = t + dt;
vx = ...
x = ...
vy = ...
y = ...
fprintf(output, "%lf %lf %lf\n", t, x, y);
}
fclose (output);
}
/* ext function to find ax, ay at different ranges of x and y */
{
declarations
if(x < 1)
{
ax = ...
}
else if(x==1)
{
ax = ...
}
...
else
{
...
}
if(y<0)
{
...
}
...
}
我在“{ /* ext function to find ax, ay at different range of x and y */”行上收到错误,说
"error: expected identifier or '(' before '{' token"
我认为这可能是由于没有以正确的方式调用或创建外部函数导致的
你的函数需要一个名字! 任何函数之外的代码块在 C 中都是没有意义的。
事实上,您的示例中存在一些语法/概念错误。 请清理它并澄清你的问题 - 当你这样做时我会尽力回答更好。
现在,让我们看下面的例子。
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("hello world \n");
return 0;
}
{
printf("do you see this?!\n");
}
如果你编译上面的程序,将会出现以下错误
$ gcc q.c
q.c:10:1: error: expected identifier or ‘(’ before ‘{’ token
$
这是因为 gcc 编译器期望在
identifier
之前有一个 {
。所以我们需要将上面的程序更新如下
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("hello world \n");
return 0;
}
void function()
{
printf("do you see this?!\n");
return;
}
它会工作得很好。
$ gcc q.c
$ ./a.out
hello world
$
希望有帮助!
包括
浮动瓦亚苏= 18; printf("eppudu naa 年龄 %d “,瓦亚苏);
瓦亚苏=100; printf("mari eppudu naa 年龄 %d", vayasu);
返回0; }