以下是代码。
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'
分别是预编译指令错误和(一般缺少符号)这两条指示,但是我找不出来那里错了。
新人头秃中,感谢前来帮忙的各路人。
你这样写试试,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的代码块功能。你如果这届拷贝代码会把预处理的#
给吃掉,使该行加粗。
不要用void main,C标准规定的是main返回值必须为int,虽然写成void部分编译器也不会出错,但是最好不要这样。