用C语言实现乘法口诀表的难点在于如何控制数据输出的格式,这一点在于对嵌套for循环的深入理解。首先,外循环赋值一次,内循环执行一遍;对于乘法口诀表这个程序来说,外层循环为1,内层循环也为1时,打印一行一列;外层循环为1,内层循环为2时,打印一行两列、、、、、、以此类推。然后为了美观起见,在打印时按“%-4d”的格式打印,“-”号代表左对齐,“4d”代表输出的×××数据至少占4位,其实在这儿最多占两位,剩下的两位用空格填充。

 

C语言代码如下:

# include <stdio.h>
int main()
{
    int i,j;
 for(i=1; i<=9; i++)                       //外层for循环控制列
 {
    for(j=1; j<=i; j++)                    //内层for循环控制行
    {
       printf("%d*%d=%-4d", j, i, i*j);    //%4d表示占4位,不足用空格填充
    }                                      //-4表示左对齐
    printf("\n");
 }
 return 0;
}

 wKiom1X_2qXxe2p9AAE3TuB-Ckg734.jpg

干货小知识*p++ 自增p 还是p 所指向的变量?

    后缀++ 和-- 操作符本质上比前缀一目操作的优先级高,即++与p结合优先级高于*与p的结合优先级, 因此*p++ 和*(p++) 等价, 它自增p 并返回p 自增之前所指向的值(也即先去内容,然后指针p才自加)。要自增p 指向的值, 使用(*p)++, 如果副作用的顺序无关紧要也可以使用++*p。