内景?mine[n*n],i,c表示(c=0c<10c){?i=兰特()%(n*n)????如果(我的[i]==0)?我的[i]=1???还有别的吗?很高兴回答这个问题。
让我们从结论开始:在c语言中,字符9可以直接乘以整数9,结果是513。
首先,我们需要了解字符是如何存储在内存中的。在计算机中,字符由相应的ascii码(美国信息交换标准码)来表示,不管ascii码用什么来表示,它最终都表示一个整数。例如,“9”的ascii值以十进制表示为57。所以,字符9看起来像是在做乘法。实际上,它是在用它的ascii值进行乘法。
如何用c语言计算表达式“9”*9。
乘法运算符是双目远距运算符,需要两个操作数,如上图所示,操作数1和2。计算前,要求两个操作数的类型必须一致。现在,操作数1是字符类型,操作数2是整数类型(默认值是int类型)。两个操作数的类型不一致,因此需要进行类型转换。
在c语言中,有两种数据类型转换:一种是自动类型转换;另一种是强制类型转换。在这里,它将使用自动类型转换,这可以理解为在c系统中自动完成,而不需要程序员的参与。根据自动类型转换的原理,字符类型将自动转换为int类型,“9”转换为int类型的ascii值为57。
转换后,使用57*9,答案是513。
以上就是这个问题的答案。
main()
{
inti、j,k,m
for(i=1i
{
if(i
{for(j=1j
{
printf(j)}
for(k=1k
{printf(i)}
for(m=im>0m--)
{printf(m)})}/*if*/
if(i==5)
{
for(j=1j
printf(j)
for(m=4m>0m--)
printf(m)}
if(i>5)
{
for(j=1j
printf(j)}
for(m=1m
{prin)tf(9-i1)}
for(k=9-i1k>0k--)
{printf(k)}
}
printf(“/n”)
}/*for*/
}/*main*/