#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
一、意思不同
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不可省。
就改代码而言,用void的情况下,可以把return ;不要吗?
追答用void还是可以用return;其它的是return 0;
还是有区别的,因为不是void(空类型)就必须有返回值