鐵之狂傲
標題:
宣告一個int陣列a,直接使用%d顯示a,出現的結果代表什麼?
[列印本頁]
作者:
magicalloveshe
時間:
07-7-13 01:07
標題:
宣告一個int陣列a,直接使用%d顯示a,出現的結果代表什麼?
宣告一個int陣列a
並且初始化為{1, 換行字元, 3, 4}
當我使用%d顯示sizeof(a)時,可以正確顯示出四倍int的byte大小。
我的電腦上是4byte,所以sizeof(a)顯示16。
#include<stdio.h>
#include<stdlib.h>
main(){
int a[]={1 , '\n' , 3 , 4};
printf("%d\n%d\n" , sizeof(a) , a);
system("pause");
}
複製代碼
但是當我顯示 %d 的 a 時。顯示出一個很奇怪的數據
結果如下
16
2293600
複製代碼
請問2293600是什麼數字?
作者:
magicalloveshe
時間:
07-7-13 01:18
在微風找到解答了
(微風回文速度真快阿= =)
真的耶
#include<stdio.h>
#include<stdlib.h>
main(){
int a[]={1 , '\n' , 3 , 4};
printf("%d\n%d\n%d\n" , sizeof(a) , a , &a[0]);
system("pause");
}
複製代碼
改成這樣後就可以看到兩個一樣的數值了
而後面那一個數值就是a陣列中的第一個元素位置
#include<stdio.h>
#include<stdlib.h>
main(){
int a[]={1 , '\n' , 3 , 4};
printf("%d\n%d\n%d\n%d\n" , sizeof(a) , a , &a[0] , &a[1]);
system("pause");
}
複製代碼
改成這樣還可以看到下一個元素的位置哦!
感謝cflee3000
要錢的來回個文吧,我想把文章留著,不刪掉。
歡迎光臨 鐵之狂傲 (https://gamez.com.tw/)