void 和 int 的细小区别

问题遇到的现象和发生背景

img

用代码块功能插入代码,请勿粘贴截图

#include

using namespace std;
void coprime(int x,int y)
{
int t=0;
if(x>y)
{
for(int i=1;i<=y;i++)
{
if(x%i==0&&y%i==0)
{
t++;
}
}
if(t>1)
{
cout<
}
else
{
cout<
}
}
else
{
for(int i=1;i<=x;i++)
{
if(y%i==0&&x%i==0)
{
t++;
}
}
if(t>1)
{
cout<
}
else
{
cout<
}
}
}

int main(){
int n,a,b;
cin>>n;
while(n--){
cin>>a>>b;
coprime(a,b);
}
}

运行结果及报错内容

如果将第四行的void改为int就会显示complier error

我的解答思路和尝试过的方法

敢问各位大老这是为什么,难道没有返回值的函数一定只能用void吗,其他没有疑问。

函数是实现特定功能的一组代码,没有返回值,我们就让函数返回类型为void
不过还可以使用return语句,后面直接加分号,这样函数执行到return就立即结束,退出函数。如 return;
而如果不是void,就必须有返回值,即return x;否则编译就报错