3 回答

TA貢獻1719條經(jīng)驗 獲得超6個贊
extern一般用于跨文件的全局變量上。
如果只是想在函數(shù)內(nèi)部給a賦值,完全不需要用到extern。傳遞引用就可以了。
例如
main()
{
int a;
num(a);
printf("%d", a);
}
int num(int &b)
{
b = 3;
}
或者傳遞指針,或者使用返回值

TA貢獻1856條經(jīng)驗 獲得超5個贊
你這里有幾個問題我給你說下。
1,我把你的程序直接黏貼是編譯不了的,就是有許多中文字符的符號,這個要注意,所有符號要在英文格式下輸入。
2,你在main函數(shù)中并沒有調(diào)用num()這個函數(shù),也就是num()函數(shù)未被執(zhí)行,所以即使編譯通過也不會輸出3,而可能是0或者不確定的值。
3,再就是如果num函數(shù)在另外一個.c文件中,你在main函數(shù)的c文件中要對num函數(shù)進行聲明,extern int num()這個要放在main函數(shù)的外部,并且在main函數(shù)的上邊。并且對于 a 這個全局變量也要聲明,也就是extern int a;這句。 你放在main函數(shù)中是沒問題的,但是這個就意味著a這個變量只能在 main 函數(shù)中被調(diào)用,而無法在main所在的c文件中的其他函數(shù)調(diào)用。
- 3 回答
- 0 關(guān)注
- 139 瀏覽
添加回答
舉報