首页 新闻 会员 周边 捐助

函数调用有误

0
悬赏园豆:100 [已解决问题] 解决于 2021-11-17 12:53

以下是代码。

include <stdio.h>

int f(int x);
void main(){
int i;
for(i=2;i<=100;i++){
f(i);
}
}

int f(int x){
int t;
for(t=2;x>t;t++){
if(x%t==0){
printf("%d不是素数\n",x);
break;
}
}
}

在我自己的dev c++中,无报错,并且我调试了一下,发现调试结果和实际输出的结果不一样。
在在线IDE试过后,报出以下错误
prog.cs(2,0): error CS1024: Wrong preprocessor directive
prog.cs(2,0): error CS1525: Unexpected symbol `int'
分别是预编译指令错误和(一般缺少符号)这两条指示,但是我找不出来那里错了。
新人头秃中,感谢前来帮忙的各路人。

程序计算机人的主页 程序计算机人 | 初学一级 | 园豆:112
提问于:2021-11-15 21:58
< >
分享
最佳答案
1

你这样写试试,gcc编译通过:

#include <stdio.h>
void f(int x);

int main()
{
    int i;
    for (i = 2; i <= 100; i++)
    {
        f(i);
    }
    return 0;
}

void f(int x)
{
    int t;
    for (t = 2; x > t; t++)
    {
        if (x % t == 0)
        {
            printf("%d不是素数\n", x);
            break;
        }
    }
}

提一个建议,要会使用md的代码块功能。你如果这届拷贝代码会把预处理的#给吃掉,使该行加粗。

收获园豆:100
寂静的羽夏 | 老鸟四级 |园豆:2129 | 2021-11-15 22:47
其他回答(1)
-1

不要用void main,C标准规定的是main返回值必须为int,虽然写成void部分编译器也不会出错,但是最好不要这样。

计算机知识杂谈 | 园豆:470 (菜鸟二级) | 2021-11-16 18:25

还有,你使用的是哪个在线IDE?

支持(0) 反对(0) 计算机知识杂谈 | 园豆:470 (菜鸟二级) | 2021-11-16 20:38

@计算机知识杂谈: ideone
https://www.ideone.com

支持(0) 反对(0) 程序计算机人 | 园豆:112 (初学一级) | 2021-11-17 09:34

@程序计算机人:
你是否在在线编译器中选错语言了?

支持(0) 反对(0) 计算机知识杂谈 | 园豆:470 (菜鸟二级) | 2021-11-17 20:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册