C語言的小問題

以下的C語言


#include <stdio.h>
int main() {
int i = 1;

while (i <= 2) {
printf("2*i=%d\n", 2*i);
++i;
}

return 0;
}

得到的結果是
2*i=2
2*i=4

請問如何改才能得到以下的結果?
2*1=2
2*2=4



</stdio.h>
2022-03-13 22:08 發佈
文章關鍵字 C語言 問題
printf("2*%d=%d\n", i,2*i);

printf("2*i=%d\n", 2*i);
改成
printf("2*%d=%d\n", i, 2*i);
ram10775 wrote:
printf("2*...(恕刪)



謝謝。
hack.pc wrote:
printf("2*i=%d\n", 2*i);
改成
printf("2*%d=%d\n", i, 2*i);

題主應該C初學著,和其他程式語言比較,C語言是比較嚴謹的語法,所以的函數與輸入輸出時都要定義/指定,變數使用前也一定要先宣告。

printf 格式化輸出,輸出語法如下
1.需要用括號()包起來,並以 分號(;)結尾
2.字串/輸出格式字串,需要用雙引號 " 包起來,
3.變數/運算式不能被包在雙引號 " 內,每一個變數都要預先指定[輸出格式],
4.運算子遵守先乘除後加減,可適時用括號調整
5.[字串/輸出格式]只能在最前面後面接變數/運算式;字串/,變數/運算式需用逗號隔開
6.不可印字元有特定對應方式表示,如換行用 \n,跳格用\t
語法: printf("字串/輸出格式字串\n", 變數清單);
printf("2*1=2\n"); 一個字串
printf("%d\n", i); 一個整數 (一個格式字串,一個變數)
printf("2*i=%d\n", 2*i); 字串格式,運算式
printf("2*%d=%d\n", i, 2*i); 字串格式,變數,運算式

%d 整數,DEC/10進位,-32768~32767之間
%f 浮點數,10進位[整數].[6位小數],如3.141596
%c 一個字元
%s 字串
printf 在 C 中是由標準輸入輸出 stdio.h 提供,需要寫進來,編譯時才會包一起,程式才能跑
#include <stdio.h></stdio.h>
chuway wrote:
題主應該C初學著,和其他程式語言比較,C語言是比較嚴謹的語法,所以的函數與輸入輸出時都要定義/指定,變數使用前也一定要先宣告。


C語言算自由,並不要求嚴謹啦,編譯器能過都還是一堆蟲等著爆。Q部門用靜態分析工具找出一堆漏洞給寫扣的R&D,他們通常覺得來找碴的,能動就好囉唆啥的。
chuway wrote:
題主應該C初學著,和其他程式語言比較,C語言是比較嚴謹的語法,所以的函數與輸入輸出時都要定義/指定,變數使用前也一定要先宣告。


C麻煩的地方就是這樣,什麼東西都要宣告
管你是字元字串,單精浮點數還是雙精浮點數,有號數,無號數,陣列...等
甚至進階點的應用如函式,全都要先定義宣告(不然compile會過不了)
不過他能做的事很多

另外C是學Java/C++的基礎,會C的話,要學Java/C++會更快上手
業界還是很多地方在用Java/C++
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?