代碼理解問題
#include <stdio.h>
int main()
{
? ? int i, j, result;
??? for (i=9;i>=1;i--)
??? {
??????? for(j=1;j<=i;j++)
??????? {
??????????? result=i*j;
??????????? printf("%d*%d=%d\t",i,j,result);
???????????
??????? }
??????? printf("\n")
??? }
??? return 0;
}
這段代碼中,printf("%d*%d=%d\t",i,j,result);中的\t為什么不是\n,以及最后printf("\n")是什么意思?
2018-09-01
\t? 相當(dāng)于水平制表符 Tab。 表示橫向調(diào)到下一個(gè)制表符位置,也就是相當(dāng)于按下 Tab鍵的效果;
\n 是換行符,是縱向調(diào)到下一行的位置。
如果printf("%d*%d=%d\t",i,j,result) 中的\t 寫成 \n,那你得到的輸出 是一列的乘法表,不是標(biāo)準(zhǔn)倒序9*9乘法表。
最后的printf("\n") 是每當(dāng)外層for循環(huán)執(zhí)行一次,內(nèi)層for循環(huán)全部執(zhí)行完畢時(shí),再換到下一行 繼續(xù)執(zhí)行外層for循環(huán)的下一次循環(huán),以此類推,也就是保證輸出的樣式。