亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

想要輸出為3,這樣可以嗎,想在num函數內部給a賦值?怎么做?

想要輸出為3,這樣可以嗎,想在num函數內部給a賦值?怎么做?

C
慕田峪4524236 2022-11-04 13:09:07
#include<stdio.h>main(){extern int a;printf(a);}另一個函數中#include<stdio.h>int a;int num(){a=3;}int a;
查看完整描述

3 回答

?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

extern一般用于跨文件的全局變量上。

如果只是想在函數內部給a賦值,完全不需要用到extern。傳遞引用就可以了。
例如
main()
{
int a;
num(a);
printf("%d", a);
}

int num(int &b)
{
b = 3;
}

或者傳遞指針,或者使用返回值


查看完整回答
反對 回復 2022-11-08
?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

你這里有幾個問題我給你說下。
1,我把你的程序直接黏貼是編譯不了的,就是有許多中文字符的符號,這個要注意,所有符號要在英文格式下輸入。
2,你在main函數中并沒有調用num()這個函數,也就是num()函數未被執行,所以即使編譯通過也不會輸出3,而可能是0或者不確定的值。
3,再就是如果num函數在另外一個.c文件中,你在main函數的c文件中要對num函數進行聲明,extern int num()這個要放在main函數的外部,并且在main函數的上邊。并且對于 a 這個全局變量也要聲明,也就是extern int a;這句。 你放在main函數中是沒問題的,但是這個就意味著a這個變量只能在 main 函數中被調用,而無法在main所在的c文件中的其他函數調用。

查看完整回答
反對 回復 2022-11-08
?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

你是用num里面的復制的話 那輸出3 的也是num里面的 a 如果想輸出最外面的那個a那么num上面不用再定義一個a

查看完整回答
反對 回復 2022-11-08
  • 3 回答
  • 0 關注
  • 132 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號