如何才能把赋给变量的数字放到字符数组里

如果直接将这些字母输入到字符数组,打印出来就只显示字母而不是字母所被赋值的数字。

#include <stdio.h>

int main()

{

int i,o,p,q;
for(i=1,q=0;i<=9;i++)
{
for(o=1;o<=i;o++)
{
char a[]={"o*i=o*i"};
printf("%s",a);
}
}
return 0;
}

img

用ASCII码,因为每一个字母恰好对应唯一的ASCII码,这样就完成了字母(char)与数字(int)的转换

printf("%d*%d=%d",i,o,i * o);
两层循环内留这一句就行了。
printf在格式化输出时,按顺序将后面参数的值放在前面的字符串里。
即:用i的值替换第一个%d;
用o的值替换第二个%d;
用i*o替换第三个%d;。
d表示在此位置是一个十进制整数。
而" "中的都是字符常量,i,o只代表两个字符,而非你定义的变量。