问答详情
源自:4-13 使用for循环打印9×9乘法表

代码理解问题

#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")是什么意思?

提问者:慕少4591480 2018-09-01 15:11

个回答

  • 慕标6232580
    2018-09-01 19:59:54

    \t  相当于水平制表符 Tab。 表示横向调到下一个制表符位置,也就是相当于按下 Tab键的效果;

    \n 是换行符,是纵向调到下一行的位置。

    如果printf("%d*%d=%d\t",i,j,result) 中的\t 写成 \n,那你得到的输出 是一列的乘法表,不是标准倒序9*9乘法表。

    最后的printf("\n") 是每当外层for循环执行一次,内层for循环全部执行完毕时,再换到下一行 继续执行外层for循环的下一次循环,以此类推,也就是保证输出的样式。