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++) 一個偽 告訴你真相 我是大圈 一圈跑完,大圈還要跑嗎 要跑 繼續大圈與小圈的迴圈,不要跑 跳出迴圈 多層巢狀也是一樣 我是外圈 跑完了小圈,繼續中圈 中圈已結束 跳出中圈繼續執行外圈。中圈還沒結束 繼續中圈的迴圈 現在中圈也跑完了,再來跑大圈 如果大圈跑完了,該迴圈結束,還沒有的話繼續上面的奔跑,r... 1 雙重for迴圈就是兩個for迴圈疊加起來。2 for語句的格式為 for 初始化語句 條件語句 控制語句 for 語句的執行順序是 首先執行 初始化語句 然後測試 條件語句 若條件成立,則執行語句1到語句n 然後執行 控制 語句 接著再測試條件語句是否成立,如果成立則重複執行以上過程,直至條件不... n 用於儲存使用者輸入的資料 m 外層迴圈的變數,用於跟n進行比較,看是否退出迴圈i 內層迴圈的變數,用以跟外層迴圈的變數進行比較和運算。k 用於內層符合條件後的賦值,並決定外面的if是否執行j 開始就已經賦值了,用於最後的運算。其實,你問作用,我不是很明白。我知道他的流程走向。這個程式是讀入乙個數...C語言for迴圈的問題,C語言迴圈問題
c語言雙重for迴圈問題,C語言雙重for迴圈問題
c語言for迴圈問題