int value = 2;
void printvalue()
{
printf("value=%d\n", value);
}
int main()
{
int value = 0;
value = 1;
cout << value << endl;
//::value = 2;
printvalue();
return 0;
}
为什么函数中的输出为value=2,value匹配了全局变量而不是局部变量?而将printvalue改为含有一个参数的函数,传入变量value则匹配局部变量?:
void printvalue(int vaule)
{
printf("value=%d\n", value);
}
int main()
{
int value = 0;
value = 1;
printvalue(value);
return 0;
}
inline函数在编译的时候会自动展开,为什么下面的两个输出却不一样?
void printvalue()
{
printf("value=%d\n", value);
}
int main()
{
int value = 0;
value = 1;
printf("value=%d\n", value);
return 0;
}
inline void printvalue()
{
printf("value=%d\n", value);
}
int main()
{
int value = 0;
value = 1;
printvalue();
return 0;
}