1樓:匿名使用者
c語言輸出陣列時,需要根據陣列下標,或者指標移動進行輸出。
所以,一般不會用一內個迴圈容輸出多個陣列,這樣操作不方便,而且降低效率。
常規的做法是,在多個迴圈中,各自輸出不同的陣列。
示例**如下:
#include
int main()
2樓:
#include
void main();
int y[5]=;
int z[5]=;
int i;
printf("x y z\n");
for (i=0;i<5;i++) printf("%d %d %d\n",x[i],y[i],z[i]);
system("pause");
}上面bai程式輸出du
zhi3個數
組,一dao
個一內列容。
x y z
0 7 10
1 5 20
2 8 15
3 6 25
4 9 50
在c語言不知道陣列有多少個元素怎麼用for迴圈輸出
3樓:鑄信
假如不知道數bai組的元素個數,du一般為int陣列,或zhichar陣列,下面看**
dao實現要求:
#include
void main()
;char str=;
for(int i=0;i計算長版度
puts("");
for(i=0;i
假如是字串陣列的話,就可以用str[i]!=0來判斷是否到達尾部,這個就不存在元素個數之說
4樓:愛因斯坦波
陣列不指定長度是,賦值時給陣列多少個元素,陣列就有多少個元素。陣列有多少個元素,就是i<(元素個數);
5樓:匿名使用者
sizeof(int)表示求int型變數所佔空間位元組數,一般一個整型變數分配2個位元組,對一個單精度浮回點型變數分配4個字答節,對一個字元型變數分配1個位元組。就是說你可以用sizeof()先計算出這個陣列所佔的位元組數,然後就可以知道陣列中共有幾個元素了。並不是直接就能得出來的。
得出來的只不過是陣列所佔的總位元組數。
這就是我給出的答案。希望能幫到你。謝謝
6樓:夜下白瞳
for(int i = 0 ; i < sizeof(a) ; i++)
sizeof(陣列名)表示陣列長度
7樓:匿名使用者
利用n=sizeof(a)先統計一下陣列所含元素的個數,而後i 8樓:匿名使用者 int n = sizeof(a)/sizeof(a[0]); //求出陣列的實際長度 c語言for迴圈幾個陣列不同 9樓:匿名使用者 1 定義n為五個元素的整型陣列,並初始化為全0對於i=1 2 3 4 n[1] = n[0]*2+1=0*2+1=1n[2] = n[1]*2+1=1*2+1=3n[3] = n[2]*2+1=3*2+1=7n[4] = n[3]*2+1=7*2+1=15輸出為 1 3 7 15 2 初始a= 1 2 3 4 5 6 7 8 9 迴圈中 i=0 1 2 i=0 j=1 2 i=1 j=2 i=2 j迴圈不執行 於是 a[1][0] a[2][0] a[2][1]被賦值為0 其它不變 輸出a為 1 2 3 0 5 6 0 0 9 c語言:for迴圈輸出陣列的問題 10樓:匿名使用者 #include #include typedef int elemtype; typedef int status; typedef struct lnode lnode,*linklist; //如果i小於1或者大於表長加1,則返回error if (!p || j>i - 1) s = (linklist)malloc(sizeof(lnode)); s->data = e; s->next = p->next; p->next = s; return 1; if (!p->next || j>i - 1) linklist q; q = p->next; p->next = q->next; e = q->data; free(q); return 1; } int main() printf("\n"); int z; int x; printf("請輸入要插入位置:"); scanf("%d", &z); printf("請輸入要插入元素:"); scanf("%d", &x); if(linkinsert_l(w, z, x)) else printf("插入失敗\n"); y = w; for (int j = 0; j < n; j++) printf("\n"); int r; int t; printf("請輸入要刪除位置:"); scanf("%d", &r); if(linkdelete_l(w, r, t)) else printf("刪除失敗\n"); y = w; for (int h = 0; h < n; h++) printf("\n"); return 0;} 11樓:0動感螞蟻 第一在復你沒有加a[i]=i之前,由於沒有制給陣列賦值,所以bai裡面的值du是隨機的。 第二你加了 zhia[i]=i,我猜你沒有dao為for迴圈加大括號,所以**就變成了 for(i=0;i<=9;i++) a[i]=i; printf("%d",a[i]); 這段**你應該就清楚了,他輸出的是a[10](越界了),一個隨機值 12樓:匿名使用者 你在輸出之前沒有為陣列a[10]中元素賦初始值,所以輸出什麼結果都是完全有可能的。回 你在printf之間加一句答 a[i] = i,那麼會一直執行這一句,而printf值是單獨的一個語句,而且他顯示的值也超出陣列的邊界了,因此此時i為10。 13樓:heart阿飛 for(i=0;i<5;++i) }如果是這種形式的就輸一個數按一次回車。 14樓:杯具——悲劇 迴圈一次列印一次,第二個for東西和第一個放一起 include include typedef int elemtype typedef int status typedef struct lnode lnode,linklist 如果i小於1或者大於表長加1,則返回error if p j i 1 s linklist malloc sizeo... 真是沒轍.實在就多分配點空間.連結串列是動態的,如果用c 把動態分配放到類裡面,就給你一個介面,你是不是也認為那是動態的呢?c與vb不能比.vb有幾個是弄記憶體的?基本上是對的,scanf 裡的引數就是變數的地址陣列名你可以理解為這個陣列的起始地址 第一個元素的地址 比如你這裡的a,它就相當於是 a... 你在輸入第二行按下回車之後,輸入的這行內容就被存在緩衝區裡,scanf就會按指內 定的容輸入格式來讀取這些資料,每遇到空白 回車或者tab就會認為那個資料結束,所以n次迴圈就會讀入n個資料,按上面的理解,如果你輸入的時候是輸入這種 988回車 74回車 這種也是可以的。c語言for迴圈裡的scanf...c語言for迴圈輸出問題,C語言 for迴圈輸出陣列的問題
在c語言陣列中怎麼用,C語言陣列怎麼輸出全部?
初學C語言,關於for迴圈中scanf函式應用的一點小疑問