c语言问题 下面这个程序哪儿错了?求高手解答

2025-01-05 03:12:22
推荐回答(5个)
回答1:

1.printf("\n")后面要加 ; 。
2.你的K没有赋初值,所以k=i*k;不行。(你把i*j打成i*k了)

正确的代码:
#include
#include//getch()的头文件
main()
{
int i,j,k;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
k=i*j;
printf("%d*%d=%d ",i,j,k);
}
printf("\n");
}
getch();//让程序停一会,直到你按任意键
}

回答2:

按照题目意思,应该是:k=i*j,而不是k=i*k吧

如下:
#include
main()
{
int i,j,k;
for(i=1;i<=9;i++)
{ for(j=1;j<=i;j++)
{
k=i*j;
printf("%d*%d=%-3d",i,j,k);
}
printf("\n") ;
}
}

回答3:

printf函数后没有加分号;
还有你的k没有赋初值
所以运行结果是错误的
-------------------------------------------------
补充下,你的那个输出对齐位置也不好,我这里给你一个你看看
#include "stdio.h"
int main(void)
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf("%d*%d=%-3d",j,i,i*j);
printf("\n");
}
return 0;
}

回答4:

1 k没有初始化就使用,导致出现难以预料的情况产生。所以在定义变量的时候最好给其赋初始值,以后工作中都需要这么做
2 printf("\n") 缺少分好,编译不过
3 如果使用的是C++编译器, 需要定义int main()并且renturn 0; 或者直接定义void main()

回答5:

#include
int main()
{
int i,j,k;
for(i=1;i<=9;i++){
for(j=1;j<=i;j++){
k=i*k;
printf("%d*%d=%3d",i,j,k);
}
printf("\n");
}
return 0;
}
比较一下, 你这犯的是语法错误,但是运行起来也是错误的,也有逻辑错误,现在不知道你的的意图,所以只能帮到这些了