c++
#include<iostream>using namespace std;
void change(int &a)
{
if(a == 1) a = 0;
if(a == 0) a = 1;
}
main()
{
int b = 1;
change(b);
cout<<b;
}
为什么输出1 啊 #include<iostream>
using namespace std;
void change(int *a)
{
if(*a == 1) {
*a = 0;
}
else if(*a == 0) {
*a = 1;
}
}
int main()
{
int b = 1;
change(&b);
cout<<b;
return 0;
}
本帖最后由 jackz007 于 2020-11-29 12:11 编辑
void change(int &a)
{
if(a == 1) a = 0; // 当 a == 1 时,a 在这里被改为 0
if(a == 0) a = 1; // 却又在这里被改为 1
}
void change(int &a)
{
if(a == 1) a = 0 ;
else if(a == 0) a = 1;// 修改这一句,把两个判断合并成同一个判断
}
页:
[1]