下面这段程序合法吗?#include<iostream.h>void F(const int x) //形参用const说明{ cout<<x<<endl; }void main(void){ int x=5; //实参定义为整形 F(x); }若把形参改为int x,实参为const int x又如何?同时,WHY?

热心网友

这里是采用值传递的方式,如何定义都是可取的。void func( int i ){ ....}int main(void){ cosnt int i = 5; func(i);}或者void func( const int i ){...}int mian(void){ int i = 5; func(i);}知道了什么叫值传递就好理解了。

热心网友

你这个程序合法你这个程序不管定义哪个是const,或者两个都定义成const,或者两个都不是const,都合法,而且程序运行结果全部相同const只是用来声明一个常量,简单说如果你的实参是const的,那么在main函数里你就不能改变x的值,如果形参是const的,那么在F函数里就不能改变形参x的值。