c語言迴圈中如何輸出多個陣列,C語言FOR迴圈幾個陣列不同

2021-05-12 11:57:01 字數 3712 閱讀 3663

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東西和第一個放一起

c語言for迴圈輸出問題,C語言 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語言陣列怎麼輸出全部?

真是沒轍.實在就多分配點空間.連結串列是動態的,如果用c 把動態分配放到類裡面,就給你一個介面,你是不是也認為那是動態的呢?c與vb不能比.vb有幾個是弄記憶體的?基本上是對的,scanf 裡的引數就是變數的地址陣列名你可以理解為這個陣列的起始地址 第一個元素的地址 比如你這裡的a,它就相當於是 a...

初學C語言,關於for迴圈中scanf函式應用的一點小疑問

你在輸入第二行按下回車之後,輸入的這行內容就被存在緩衝區裡,scanf就會按指內 定的容輸入格式來讀取這些資料,每遇到空白 回車或者tab就會認為那個資料結束,所以n次迴圈就會讀入n個資料,按上面的理解,如果你輸入的時候是輸入這種 988回車 74回車 這種也是可以的。c語言for迴圈裡的scanf...