C語言如何用檔案給變數賦初值

2025-02-26 17:25:12 字數 2265 閱讀 8915

1樓:辦事通趙老師

可以在函式體外,設乙個全域性變數。

或陣列),算出來的mo值後,就直接賦值。

extern int a[100];

int i=0;

a[i++]mo;

舉例:命令:tarena@ubuntu:~$name=beijing //這裡不僅是賦租纖蔽值了,還建立了自定義變數。

命令:tarena@ubuntu:~$echo $name結果:beijing

2樓:匿名使用者

#include //先在根目錄罩段塵 建燃仿個名為 的文字檔案 然後 輸入乙個整數 再執行程式void readfile()

int a;

file* pfile;

if((pfile=fopen("","r"))0)printf("can not open file");

return 0;

fseek(pfile,0,0);

fscanf(pfile,"%d",&a);

printf("物禪a = d",a);

fclose(pfile);

void main()

3樓:匿名使用者

file *f;int a;f=fopne("", 做裂r");fscanf(f,"%d",&a);就信信可以了純坦閉。

4樓:匿名使用者

好像是有檔案呼叫函式。

c語言變數賦值

5樓:網友

a正確 a=a+7即a=(a+7)

b:a=7+b+c,a++中間應該是;號而不是逗號c:int( 不會產生結果。

定義格式也不正確d:)a=a+7=c+b 一般的。計算機是這樣人為的a=(a+(7=c+b)) 因為7不等於c+b.

所以錯誤。

6樓:網友

我來給出正解吧:

a)a=a+7 是賦值語句 正確。

b)a=7+b+c,a++ 這是乙個賦值運算子和逗號運算子等組成的語句,因為賦值運算子的優先順序高於逗號運算子,所以相當於(a=7+b+c),a++ 而不是a=(7+b+c,a++)

c)int( %不能出現小數,非法。

d)a=a+7=c+b 賦值運算子的結合性是自右向左的,所以相當於兩個語句。

先a+7=c+b 再a=a+7 a+7不是個變數,不能作為被賦值的物件。

所以答案是a、b

7樓:有錢買不起房子

a)a=a+7 是賦值語句。

b)a=7+b+c,a++ 逗號表示式,合法。

c)int( %不能出現小數,非法。

d)a=a+7=c+b a+7=c+b,常量不能出現在等號左側。

在c語言中給變數賦初值有什麼作用

8樓:佘淑珍尋壬

語法上的初始化是指物件定義時,對應的分配空間之後對於值的操作。c語言中,靜態和全域性變數預設置0,有初始化列表的複製初始化列表的值到空間(如有不足,剩餘部分置0),區域性自動變數可以不初始化(偵錯程式參與時可能被隱式地初始化為其它的值("debug

magicnumber"),例如預設情況下microsoft

c/c++debugger會把棧中未初始化的位元組置為0xcc)。

賦初值一般而言是指邏輯意義上的初始化。在c語言中,由於初始化的語法是「=」後加初值,所以「賦初值」基本上就是指語法上的初始化。不過隨著語言的發展,「賦初值」的意義發生了擴大。

對有構造語義但又允許不初始化而不產生編譯錯誤的程式設計語言而言,兩者有些微妙的差別。例如c++的建構函式中,用若干個成員名和括號括起來的初始化值構成的初始化列表是語法上的初始化(也可能是邏輯意義上的初始化,如果沒有被建構函式體內的值覆蓋),而建構函式體中對成員的賦值語句是邏輯上的初始化但不是語法上的初始化。

冰的悸動。錯誤:1.「程式開始時進行初始化」的說法僅僅適用於靜態或全域性變數,而不適於區域性自動變數。區域性自動變數在函式呼叫時才能被初始化。

2.「但是根據編譯器的不同有些編譯器會自動賦初值0或其他」——這在iso/iec

c語言標準中不是由實現定義的行為,如果乙個編譯器符合標準,那麼行為就是明確的,即視此初始化的物件是否為全域性物件來判斷隱式初始化置0還是不進行初始化——從下面的函式定義來看這裡應該var2是全域性變數,會被置0。非標準編譯器則另當別論(但是我還沒見過會在這點上沒事找茬的)。

9樓:學佑平忻媚

如果變數不賦初始值,則它的值是不確定的,容易造成結果出錯。

c語言把int變數地址賦給另int變數

p是指標變數,取復p地址制的地址賦值給一個變數bai,用 p,這是對的。du 問題zhi在於用來儲存這個結果的變dao量是什麼型別的,應該是指向指標的指標,int q。int p,q p new int p 30 q p 直接訪問 q是危險的!應該先給q賦值再訪問 q,比如 q new int q ...

c語言中 union的問題,int i賦初值,輸出k

int和long一樣都是4個位元組,所以s k取的就是i 0 的值。printf c n s c 0 算出是9和大小端有關,只有小端才是9。就是ansi char 9 換成十六進位制就是39。char 0 取了i 0 的低八位。大一c語言考試題 急 c語言中,浮點型別和整數型別的區別具體在哪些方面?...

c語言中如何用多個檔案編寫程式C語言中,如何用多個檔案編寫程式

將一個函式寫在一個檔案裡,然後再在另一個檔案裡用 include 包含這個檔案。舉個例子 在檔案c1.c裡編一個函式 void printword 再建立一個檔案c2.c,檔案開頭寫上 include c1.c 就可以呼叫c1.c裡的函式printword 了 舉個簡單的例子!你會容易理解的。你寫一...