标题:这个错在哪里??error C2664: 'printf' : cannot convert parameter 2 fro ...
只看楼主
施熠
Rank: 2
来 自:南京
等 级:论坛游民
帖 子:69
专家分:29
注 册:2012-2-4
结帖率:100%
已结贴  问题点数:20 回复次数:3 
这个错在哪里??error C2664: 'printf' : cannot convert parameter 2 from 'void' to '...'什
#include "stdio.h"
void gcd(int a,int b)
{
    int k=a%b;
    while(k)
    {
        a=b;
        b=k;
        k=a%b;
    }
    printf("%d",b);
}

 void main()
{
    printf ("%d\n",gcd(35,28));
}
搜索更多相关主题的帖子: void convert include cannot 
2012-03-22 16:20
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
得分:20 
void main()

 {
     printf ("%d\n",gcd(35,28));

 } 

这里错了,你的gcd()为void型,不能返回值,所以直接写歌gcd(35,28);就行了

最基础的往往是你最容易忽略的!
2012-03-22 16:22
施熠
Rank: 2
来 自:南京
等 级:论坛游民
帖 子:69
专家分:29
注 册:2012-2-4
得分:0 
回复 2楼 于祥
自定义函数时void 和int 有什么区别呢???为什么有返回值
2012-03-22 16:43
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
得分:0 
定义函数时,前边要写上要返回的类型(int,float.....),如果不需要返回就写一个void,void为空类型,什么都不返回。int等都是返回那个类型的一个值,在看看函数那一章吧!

最基础的往往是你最容易忽略的!
2012-03-22 16:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-363986-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016185 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved