哪位高手能告诉小弟我这个程序的结果是多少?为什么
谁能告诉我这个程序的结果是多少?为什么?
谁能告诉我这个程序的结果是多少?为什么?
而这个程序的值是多少,为什么?
------解决方案--------------------
我觉得都是编译失败。
b*1的结果无法赋值给 非const引用
------解决方案--------------------
结果是什么,自动运行就知道了.
如果要知道为什么,就单步跟踪的时候,显示出汇编语句就明白了
------解决方案--------------------
S(b)=(b*1);
s(b)会改变b, 而式子的b有可能用的是原始值,也有可能是被改变的值。
像这种,算式内多次使用同一个变量,而变量的值又会改变的时候,
执行结果是未定义
也就是,不同的编译器,可能结果不一样
------解决方案--------------------
第二个不能通过。
谁能告诉我这个程序的结果是多少?为什么?
- C/C++ code
#include<iostream>
using namespace std;
int &S(int &a)
{
a=100;
return a;
}
void main()
{
int b=10;
S(b)=(b*1);
cout<<b<<endl;
}
而这个程序的值是多少,为什么?
- C/C++ code
#include<iostream>
using namespace std;
int &S(int &a)
{
a=100;
return a;
}
void main()
{
int b=10;
S(b)=(b*3);
cout<<b<<endl;
}
------解决方案--------------------
我觉得都是编译失败。
b*1的结果无法赋值给 非const引用
------解决方案--------------------
结果是什么,自动运行就知道了.
如果要知道为什么,就单步跟踪的时候,显示出汇编语句就明白了
------解决方案--------------------
S(b)=(b*1);
s(b)会改变b, 而式子的b有可能用的是原始值,也有可能是被改变的值。
像这种,算式内多次使用同一个变量,而变量的值又会改变的时候,
执行结果是未定义
也就是,不同的编译器,可能结果不一样
------解决方案--------------------
第二个不能通过。