爱问知识人 爱问教育 医院库

一个简单的C问题,关于九九乘法表

首页

一个简单的C问题,关于九九乘法表

#include <stdio.h>
main()
{
  int i,j,m;

  for(j=1;j<10;j++)
  {
    for(i=1;i<=j;i++)
      m=i*j;      /*用m为什么不可以?*/
      printf("%d*%d=%d\t",i,j,m);
      printf("\n");
  }
}
打印出来的结果根本不对,而不用m直接用i*j就可以,哪位高人能告诉我为什么吗?谢谢!小弟我不胜感激!

提交回答
好评回答
  • 2005-08-02 11:49:34
    for语句如果不带有大括号({ }),其只对第一句进行循环计算。
    在给出的程序中,第二个for语句循环有两个语句,故在程序中加上一对大括号就可以了。
    #include 
    main()
    {
    int i,j,m;
    for(j=1;j<10;j++)
    {
    for(i=1;i<=j;i++)
    {
    m=i*j; 
    printf("%d*%d=%d\t",i,j,m);
    }
    printf("\n");
    }
    }
    

    A***

    2005-08-02 11:49:34

其他答案

    2005-08-02 12:03:25
  • 将你的程序改为如下格式,就可以解决问题。
    你原来的程序中i的for循环缺少大括号({}),该语句的尾部也没有分号(;),也就是说该循环体只有一句〖m=i*j;〗,而〖printf("%d*%d=%d\t",i,j,m);〗语句仅在j的for循环中执行。
    #include 
    main(){
      int i,j,m;
      for(j=1;j<10;j++){
        for(i=1;i<=j;i++){
          m=i*j; 
          printf("%d*%d=%d\t",i,j,m);
        }
        printf("\n");
      }
    }
    

    1***

    2005-08-02 12:03:25

类似问题

换一换
  • 数学 相关知识

  • 教育培训
  • 教育考试

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):