-4 c++ visual-c++
我写了这个程序,我希望它打印输出'10'.但它正在打印15.为什么要这样做?
#include "stdafx.h"
#include"iostream"
#include<conio.h>
using namespace std;
void f(int a, int b){
b=a+a;
}
int main(){
int a = 5, b = 15;
f(a,b);
cout << b;
_getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您通过值传递a
和b
执行函数.所以你传递给函数的只有5和15.你从变量得到这些值并且与函数无关,因为它得到的只是那些值,而不是你得到它们的地方.a
b
在a
和b
里面的函数变量是开始,而函数执行存在并停止当函数终止存在局部变量.它们与main
具有相同名称的本地变量无关.