注册 登录
编程论坛 C++教室

莫明的错误看不懂啊 求指教...

罗斯曼丽 发布于 2012-11-06 00:09, 377 次点击
错误是
Linking...
0.obj : error LNK2001: unresolved external symbol "int __cdecl f(int)" (?f@@YAHH@Z)
Debug/0.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

0.exe - 1 error(s), 0 warning(s)








#include<iostream.h>
main()
{
int f (int y);
int x,c;
cin>>x;
c = f(x);

cout<<x<<endl;
return 0;
}
int f(int i,int x)

{
i=2;
for (i<x ;i++;)
if (x%i==0)
x=0;
else
x=1;
return (x);
}
6 回复
#2
w5277050902012-11-06 00:25
程序代码:
#include<iostream.h>
main()
{
int f (int y);
int x,c;
cin>>x;
c = f(x);

cout<<x<<endl;
return 0;
}
int f(int x)  //这里改了一下

{
int i;
i=2;
for (;i<x ;i++) //你的这里错了。。。。
if (x%i==0)
x=0;
else
x=1;
return (x);
}
可能是你定义的函数与声明的函数不一致造成的吧。。。。

还有  你这个函数是不能改变x的值。。。。要改变要用到指针。。。所以x的值是不会变的

[ 本帖最后由 w527705090 于 2012-11-6 00:26 编辑 ]
#3
mmmmmmmmmmmm2012-11-06 09:29
c = f(x);

cout<<c<<endl;
#4
zxd5432012-11-06 09:46
#include<iostream>

using namespace std;
int f (int y);
int main()
{
   
    int x,c;
    cin>>x;
    c = f(x);
    cout<<c<<endl;
    return 0;
}
int f(int x)
{
    int i;
    for(i=2;i<x ;i++)
    {
        if(x%i==0)
            x=0;
        else
            x=1;
        return (x);
    }   
}
你的错误很多 自己对照一下吧
#5
罗斯曼丽2012-11-06 17:30
回复 2楼 w527705090
谢谢师姐.....
但是我们老师说先不讲指针问题  所以我不会啊....


用你改过的  输入 5 是没有出结果啊   调试时 程序走到输入5时就停止了...咋回事?、
我的这个程序的的意图是  如果输入一个数 是质数就输出1 不是就输出0......
再次求指教...
#6
罗斯曼丽2012-11-06 21:48
回复 2楼 w527705090
#include<iostream>

using namespace std;
int f (int y);
int main()
{
   
    int x,c;
    cin>>x;
    c = f(x);
    cout<<c<<endl;
    return 0;
}
int f(int x)
{
    int i;
    for(i=2;i<x ;i++)
    {
        if(x%i==0)
            x=0;
        else
            x=1;
        return (x);
    }   
}




坑人啊....改过后 似乎可以了但是输入55怎么也是质数啊 ????哪里错了???????
#7
zxd5432012-11-08 17:21
回复 6楼 罗斯曼丽
你是说要调试 没说程序做什么 要求质数你的函数就写错了
int f(int x)
{
    int i,j;
    for(i=2;i<=x/2;i++)
    {
        if(x%i==0)
          break;
    }
    if(i==x/2+1)
        return 1;
    else
        return 0;  
}
把函数改改接着试试
1