#include <iostream>
using namespace std;
int aka(int x, int y){
cin >> x >> y;
x+=2;
y*=2;
cout << x << endl;
cout << y << endl;
}
int main () {
int x,y;
cout << aka(x,y);
}
在此程序中,输出是将2
添加到第一个整数,将2
乘以第二个整数,但是当我输入2
4
作为输入时,我得到4
8
和5007456
作为输出为什么我会收到此垃圾号码?
答案 0 :(得分:3)
在这个程序中有三次打印东西:
// prints 4
cout << x << endl;
// prints 8
cout << y << endl;
// prints 5007456 (or some other garbage number)
cout << aka(x,y);
cout << aka(x, y);
打印aka(x, y)
的返回值,但aka
中没有return语句,因此返回垃圾值。 (你应该获得编译器警告)
答案 1 :(得分:0)
在C ++函数中只返回一个值。 如果要在main中访问这些值,请使用地址运算符。
void aka(int &x, int &y)
你不需要任何回报价值。