c语言,int与void不同点

#include<iostream>
using namespace std;
void run(int a,int b)
{
if(a==0) return ;
run(a/b,b);
if(a%b>10)
{
printf("%c",'A'+(a%b-10));
}
else
{
printf("%d",a%b);
}
}
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
if(a<0)
{
printf("-");
a=-a;
}
run(a,b);
printf("\n");
}
return 0;
}
这是一个将十进制转化为其他进制的程序,但是如果将void run改为int run就会报错。

一、指代不同    

1、int:是一种数据类型,在编程语言中,是用于定义整数类型变量的标识符。

2、void:“无类型”。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。

二、特点不同

1、int:除了int类型之外,还有short、long、long long类型可以表示整数。unsigned int 表示无符号整数,数据范围为[0~2^32-1]。

2、void:只有“注释”和限制程序的作用,定义一个void变量没有意义。


三、作用不同

1、int:int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1]

2、void: 对函数返回的限定; 对函数参数的限定。

参考资料来源:百度百科-void

参考资料来源:百度百科-INT

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-22

一、意思不同

int f():表示返回值int,参数为任意多个;

int f(void):表示返回值为int,不接收任何的参数。

二、作用不同

例如:

int max(int x,int y)

{

int z;

z=x>y?x:y;

return(z);

}

可以通过函数获得两个数的最大值(返回的z),进而可以利用这个最大值z做一些其他操作。

但如果是

void max(int x,int y)

{

int z;

z=x>y?x:y;

return;

}

就得不到返回值了,在这里就没有什么实际意义,当然不是说没有返回值的函数就没有意义,他可能做其他一些操作之类。

三、返回值

int function()的返回值必须是int类型,void function()是不允许有返回值的。

如:

void func(int i) ; //表示func()函数没有返回值,void不可省。

第2个回答  推荐于2017-10-02
int run(int a,int b)说明你这个函数的返回值是一个整数,要加一句return 某个数或变量;
而void则是不返回一个数,只执行代码
所谓返回值就是你希望这个函数经过一系列的运算后,能得到一个什么数,这个数的数据类型决定了函数前面的类型,有返回值的函数就可以给变量赋它的返回值如:a=run(1,5);
要是没有类型就默认为int类型
对于main函数也是一样,不过通常用不到main的返回值,因此一般来说,main是void空类型的追问

就改代码而言,用void的情况下,可以把return ;不要吗?

追答

用void还是可以用return;其它的是return 0;
还是有区别的,因为不是void(空类型)就必须有返回值

本回答被提问者和网友采纳
第3个回答  2013-01-23
void run()是说这个函数没有返回值;int run()是说这个函数需要返回整数。其实如果你仔细看了错误提示的内容,就会知道提示你函数需要一个返回值。如果你需要把run改为int,那么最简单的办法是为这个函数加上最后一行:return 0;应该就好了
第4个回答  2013-01-23
int run(int a,int b)
{
if(a==0) return 0;
run(a/b,b);
if(a%b>10)
{
printf("%c",'A'+(a%b-10));
}
else
{
printf("%d",a%b);
}
return 0;
}
你这么改就不会错
相似回答