為什麼這樣定義並初始化int aa 10不行啊

2022-08-03 21:40:18 字數 3333 閱讀 4991

1樓:匿名使用者

int *a;

(*a)=10;

printf("the address of a is: %d\n",a);

說明: int *a 宣告一個指標,該指什值是隨機的無意義的,你並沒有進行初始化,也就是大家所說的野指標,這樣非常危險的操作!

(*a) = 10,通過指標對未知區域進行賦值,當然是錯誤的!

這樣寫一下:

int val = 2, *a;

a = &val; //關鍵一點

(*a) = 10;

這樣就改變的val的值.

2樓:旁笑槐

指標沒有初始化,你的編譯器比較高階,一般的編譯器不會提示這個的。這樣做可能會破壞資料,正確應該int *a=malloc(sizeof(int));

3樓:匿名使用者

int *a;//*a是指標型別,並不是a

printf("the address of a is: %d\n",a);

實際上你是用的a並沒有初始化

4樓:哈哈哈好的哈哈哈哈哈哈哈哈哈哈哈哈好哈哈

int *a

(*a)=10;合併成

int *a=&10;

這樣就行了

5樓:

關鍵是你的a沒有初始化

對一維陣列初始化不正確int a[10]={ },為什麼?

6樓:匿名使用者

那個說的啊int a[5]=是對的

7樓:匿名使用者

應該這樣寫: int a[10]=;

8樓:我啦啦啦啦啦

中括號不能在a那裡啊,自己拿個編譯器好好試試看。int a={};

設先有定義:int a=10;則表示式(++a)+(a--)的值為 為啥 a--是11呢

9樓:匿名使用者

++a先於表示式執行,a--表示式計算完成後才執行。

a+=a*a

a+=10*10

a=a+100=10+100=110

10樓:藤子源靜香

先算(++a),a變為11.然後算(a--),因為(a--)是先將a代入計算,然後a減1.所以11加11是22

11樓:藍狐魅影

a=10;a+=a *a ;a=200 ;

a=a*a=10*10=100;

a+=a;a=a+a=100+100=200;

望採納~

若有定義:int a[3][4]={{1,2},{0},{4,6,8,10}};則初始化後,a[2][2]得到的初始值 10

12樓:匿名使用者

a[2][2]=8.

a[0][0]=1,a[0][1]=2,a[0][2]=0,a[0][3]=0,

a[1][0]=0,a[1][1]=0,a[1][2]=0,a[1][3]=0,

a[2][0]=4,a[2][1]=6,a[2][2]=8,a[2][3]=10.

陣列定義,從

前往後,個數不足專的補屬0。

13樓:泥代天熊涉

是8,你是3行4列的陣列,所以1,2,0,4是第一行,6,8,10是第2行的,a[1][1]是第2行第2列,所以是8.其他沒初始化的都是0.

14樓:迷茫的前行者

8,a[0][0-3]=1,2,0

a[1][0-3]=0,0,0

a[2][0-3]=4,6,8,10

15樓:匿名使用者

a[2][2]=0;

只要未初始化,其預設值就是0!

c語言中,有定義int *a; *a=10; 合法嗎?為什麼

16樓:匿名使用者

不合法,int *a 的時候只是定義了一個指標變數,但是還沒有為此指標分配儲存空間,因此後面對此指標指向的變數(*a)賦值是會報錯的。

17樓:匿名使用者

語法上講,沒問題

但是實際執行,肯定有問題啊

a沒有初始化,是個野指標,指向隨機的記憶體單元,改寫的話,很危險,可能會導致系統崩潰

18樓:匿名使用者

答案是 d。

陣列名是常量,不能改變.

誰說a[0]不合法啊。。 陣列名代表的是一個指向此陣列第一個陣列元素的指標,是一個指標常量不可以改變其值的。。

19樓:

不合法,你雖然定義了一個指標變數,但是這個指標變數卻沒有指向一個特定的變數

20樓:匿名使用者

不合法,沒給a分配地址,通常會造成記憶體不可寫的錯誤

21樓:匿名使用者

肯定是錯的。需要給a分配記憶體空間。

若有定義int a =10,則表示式a+=a-=a*=a的值是多少啊

22樓:

a+=a-=a*=a的值為0

解析:左結合:先做a*=a, 因為a=10,a*=可寫為a=a*a=100 此時a的值為100

a-=a 可寫為a=a-a=0,此時a 的值為0a+=a可寫為a=a+a=0

綜上:a+=a-=a*=a的值為0

23樓:

#include

int main()

顯示的答案是 0; 連續賦值 的規則 是從右到左~我們分細點

1: a+=a-=a*=10

2: a+=a-=100

3: a+=0

4: a=0

所以答案是 0

lz 明白了嗎~~

24樓:1我不是吃貨

-80。

我想的是,從左往右算,那麼左邊的a的值是10不會變的。所以就變成了10+=10-=10*=10

10+=10-=100

10+=-90

-80嗯嗯,應該沒錯。

25樓:聽不清啊

表示式a+=a-=a*=a的值=0

26樓:好時光悄悄溜走

0是這樣執行的:

a=a*a;a=100

a=a-a;a=0

a=a+a;a=0

身為一個優秀的程式設計師

建議不要用可讀性如此低的程式

請問java中例項化和初始化區別是什麼

初始化一次,例項化多次,你這麼記就沒問題了!比方一個類,第一次被使用的時候,靜態的資源,包括變數,方法,靜態 塊,會進行初始化。實在記不住,這麼想好了,第一次使用,才叫初始化,對吧,那麼初始化最先載入的,當然是靜態的資源。比如,一個類,有靜態變數,static int a 1 這個靜態變數,就會被初...

絕地求生為什麼一直顯示無法初始化steam

在steam圖示上點右鍵 屬性 相容性 選項卡,取消勾選 已相容模式執行這個程式 簽名的勾選即可。絕地求生 pubg 是由韓國krafton工作室開發的一款戰術競技型射擊類沙盒遊戲。在該遊戲中,玩家需要在遊戲地圖上收集各種資源,並在不斷縮小的安全區域內對抗其他玩家,讓自己生存到最後。遊戲 絕地求生 ...

新中大初始化後。出納已做了月的賬了,為什麼現在看初始科目餘額,那些資料全是零呢

財務軟體的初始餘額一般都是上年餘額 準確地說 初始科目餘額和出納沒關係。新中大軟體初始科目餘額是會計用的,跟出納沒任何關係。出納只管出納管理裡面的東西。新中大財務軟體初始化科目餘額怎麼填寫求解 初始設定裡面有個科目餘額初始的 進入賬務處理 初始化設定 我們單位用的是新中大財務軟體,我在生成下一年帳的...