下面這段程序合法嗎?#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的值。