c語言迴圈問題,禁止用陣列,C語言for迴圈中用gets輸入字元陣列的問題

時間 2022-03-08 14:35:20

1樓:

//c語言不能處理變數名。編譯之後變數都被用相應記憶體位址代替。

//因此,此類問題在c語言中都是用陣列處理。下面的辦法可以分別處理:

int a1,a2,a3,a4;

int i;

for(i=1;i<5;i++)}

2樓:匿名使用者

高深一點的說,可以用乙個c的技巧

在程式執行時,會為變數申請記憶體空間,那麼a1,a2,a3,a4是在記憶體中的位址是連續

所以可以用*(&a+1)表示a2,呵呵,同理後面的都可以這麼用這裡牽扯到int占有記憶體空間的大小,是乙個位元組,還是兩個位元組。

還有就是申請記憶體空間時是正序的還是反序的。

估計這樣你可能通不過老師的審查,哈哈

3樓:匿名使用者

不用陣列用指標嗎?

樓主想要 *(&i+i) = i; 這種嗎?

4樓:

不用陣列就改用指標唄,int *p = &a1;也不知道你是初始化,還是迴圈列印輸出結果什麼的,問題不明確?

5樓:

你這個問題提的。太沒水平了。 a1,a2,a3,a4, 之間一點關係都沒有。 怎麼可能用a + i 的方式。

6樓:豪

a1,a2,a3,a4之間沒有關係,想賦值的話只能乙個乙個來 ,不能用for

7樓:匿名使用者

請問你想讓程式完成什麼?

8樓:匿名使用者

完全不懂你在問什麼......

c語言用for迴圈和scanf輸入陣列 程式出錯,停止工作

9樓:匿名使用者

scanf要使用的是位址。。。需要在k[j]之前加上「取位址」符號 &

for(i=0;i

10樓:冰棒之戀

for(i=0;i

scanf("%d",k[i]);

不行的話,把整個**發過來

11樓:匿名使用者

改、、!

scanf("%d",&k[i]);

12樓:烏金生宣碧

你最後maing函式的輸入不對,因為此時i和j分別是3和4,陣列已經越界。

c語言for迴圈中用gets輸入字元陣列的問題

13樓:沐閔馬佳晉

程式scanf呼叫讀取

車所輸入緩衝面剩

字元gets讀取候字元讀完進入

4門課績輸入

改變辦:

for(i=0;i<2;i++)

14樓:匿名使用者

這是因為,你的程式中有scanf的呼叫,它不讀取 回車,所以在輸入緩衝裡面剩下了 這個字元,因此gets下次讀取的時候就會把這個字元讀完後就又進入了下一 4門課成績的輸入。

改變的辦法:

for(i=0;i<2;i++)

C語言for迴圈的問題,C語言迴圈問題

一個偽 告訴你真相 我是大圈 一圈跑完,大圈還要跑嗎 要跑 繼續大圈與小圈的迴圈,不要跑 跳出迴圈 多層巢狀也是一樣 我是外圈 跑完了小圈,繼續中圈 中圈已結束 跳出中圈繼續執行外圈。中圈還沒結束 繼續中圈的迴圈 現在中圈也跑完了,再來跑大圈 如果大圈跑完了,該迴圈結束,還沒有的話繼續上面的奔跑,r...

c語言雙重for迴圈問題,C語言雙重for迴圈問題

1 雙重for迴圈就是兩個for迴圈疊加起來。2 for語句的格式為 for 初始化語句 條件語句 控制語句 for 語句的執行順序是 首先執行 初始化語句 然後測試 條件語句 若條件成立,則執行語句1到語句n 然後執行 控制 語句 接著再測試條件語句是否成立,如果成立則重複執行以上過程,直至條件不...

c語言for迴圈問題

n 用於儲存使用者輸入的資料 m 外層迴圈的變數,用於跟n進行比較,看是否退出迴圈i 內層迴圈的變數,用以跟外層迴圈的變數進行比較和運算。k 用於內層符合條件後的賦值,並決定外面的if是否執行j 開始就已經賦值了,用於最後的運算。其實,你問作用,我不是很明白。我知道他的流程走向。這個程式是讀入乙個數...