JIAOBO226016 @ 2024-05-19 21:00:23
我也不知道为什么就编译失败了??
#include<iostream>
using namespace std;
int plus1(unsigned long long &a,unsigned long long &b)
{
unsigned long long t=0;
t=a+b;
}
int main()
{
unsigned long long c,d;
scanf("%llu%llu",&c,&d);
plus1(c,d);
printf("%llu",t);
return 0;
}
by Ice_rnfmabj @ 2024-05-19 21:01:54
@JIAOBO226016 t是函数plus1里的变量,你开成全局的就行了
by silent_ST @ 2024-05-19 21:05:24
非 void
类型函数需要返回值。而且函数内定义的变量属于局部变量,函数外是不能使用的。
#include<iostream>
using namespace std;
unsigned long long plus1(unsigned long long &a,unsigned long long &b)
{
unsigned long long t=0;
t=a+b;
return t;
}
int main()
{
unsigned long long c,d;
scanf("%llu%llu",&c,&d);
printf("%llu",plus1(c,d));
return 0;
}
by silent_ST @ 2024-05-19 21:07:03
或者也可以改成这样:
#include<iostream>
using namespace std;
unsigned long long t=0; // 开全局
//int->void
void plus1(unsigned long long &a,unsigned long long &b)
{
t=a+b;
}
int main()
{
unsigned long long c,d;
scanf("%llu%llu",&c,&d);
plus1(c,d);
printf("%llu",t);
return 0;
}
by yanguo12138 @ 2024-05-22 20:42:16
@JIAOBO226016 你的t是局部变量,出了函数就没了哦,忘记return了
by JLsherryFX @ 2024-05-22 21:57:19
去DEVc++里编译一下就行了
by syy7788 @ 2024-06-09 21:06:32
有负数,删掉unsigned
by mcturtle @ 2024-06-23 22:20:58
又是一个没判断负数的蒟蒻人