鱼C论坛

 找回密码
 立即注册
查看: 742|回复: 3

[已解决]有个问题想请教一下

[复制链接]
发表于 2021-1-19 03:57:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 烂泥化刚 于 2021-1-19 03:58 编辑

屏幕截图 2021-01-19 034853.png
屏幕截图 2021-01-19 034922.png
两张图中的“i”是在两个不同的地方声明的
按理来说对这段代码的运行不会有影响吧(应该是这样吧,如果不是的话见笑了)
为什么在我的代码中运行起来有很大影响
(从我发帖的时间来看就能推断出这是一个怎样凄惨悲凉的故事了 菜鸟日常吗这是?)
先睡了



最佳答案
2021-1-19 09:12:50
作用域不同,没啥影响。不知道在你的代码中有啥影响
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-19 09:12:50 | 显示全部楼层    本楼为最佳答案   
作用域不同,没啥影响。不知道在你的代码中有啥影响
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-19 11:05:51 | 显示全部楼层
能把代码贴出来吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-19 11:42:59 | 显示全部楼层
本帖最后由 烂泥化刚 于 2021-1-19 11:45 编辑


这样
我使用的是dev
有问题的代码在《进行矩阵运算(第36行)那一块
这个本可以忽略的问题让我的代码在能运行的基础下一直出错
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         int m, n, p;
  5.         printf("请输入第一个矩阵的尺寸:(M * P)\n");
  6.         scanf("%d * %d", &m, &p);
  7.         printf("请输入第二个矩阵的尺寸:(P * N)\n");
  8.         scanf("%d * %d", &p, &n);
  9.        
  10.         int array[m][p], array2[p][n];
  11.         int result[m][n];
  12.         for(int i = 0; i < m*n; i++)
  13.         {
  14.                 *(*result + i) = 0;
  15.         }
  16.        
  17.         printf("请输入第一个矩阵的值:\n");
  18.         for(int i = 0; i < m; i++)//存入第一个矩阵
  19.         {
  20.                 for(int j = 0; j < p; j++)
  21.                 {
  22.                         scanf("%d", &array[i][j]);
  23.                 }
  24.         }

  25.         printf("请输入第二个矩阵的值:\n");
  26.         for(int i = 0; i < p; i++)//存入第二个矩阵
  27.         {
  28.                 for(int j = 0; j < n; j++)
  29.                 {
  30.                         scanf("%d", &array2[i][j]);
  31.                 }
  32.         }
  33.        
  34. //进行矩阵的运算
  35.         for(int j = 0; j < m; j++)
  36.         {
  37.                 for(int i = 0; i < n; i++)
  38.                 {
  39.                         for(int a = 0; a < p; a++)
  40.                         {
  41.                                 result[j][i] += array[j][a] * array2[a][i];
  42.                         }
  43.                 }
  44.         }

  45.         printf("计算结果如下:\n") ;
  46.         for(int a = 0, b, i; a < m|| a < p;a++)//开始打印结果
  47.         {
  48.                 for(i = 0; i < 3; i++)
  49.         {
  50.                 if(a < m&& i == 0)
  51.                 {
  52.                         putchar('|');
  53.                         for(b = 0; b < p; b++)
  54.                         {
  55.                                 printf(" %d", array[a][b]);
  56.                         }
  57.                 }
  58.                 else if(i == 0)
  59.                 {
  60.                         putchar(' ');
  61.                         for(b = 0; b < p; b++)
  62.                         {
  63.                                 printf("  ");
  64.                         }
  65.                 }
  66.                 else if(a < p&& i ==1)
  67.                 {
  68.                         putchar('|');
  69.                         for(b = 0; b < n; b++)
  70.                         {
  71.                                 printf(" %d", array2[a][b]);
  72.                         }
  73.                 }
  74.                 else if(i == 1)
  75.                 {
  76.                         putchar(' ');
  77.                         for(b = 0; b < n; b++)
  78.                         {
  79.                                 printf("  ");
  80.                         }
  81.                 }
  82.                 else if(a < m&& i ==2)
  83.                 {
  84.                         putchar('|');
  85.                         for(b = 0; b < n; b++)
  86.                         {
  87.                                 printf(" %d", result[a][b]);
  88.                         }
  89.                 }
  90.                 else if(i == 2)
  91.                 {
  92.                         putchar(' ');
  93.                         for(b = 0; b < n; b++)
  94.                         {
  95.                                 printf("  ");
  96.                         }
  97.                 }
  98.                
  99.                
  100.                
  101.                 if(a == 2&& i == 0)
  102.                 {
  103.                         printf(" | * ");
  104.                 }
  105.                 else if(a == 2&& i == 1)
  106.                 {
  107.                         printf(" | = ");
  108.                 }
  109.                 else if(i == 2)
  110.                 {
  111.                         printf(" |   \n");
  112.                 }
  113.                 else
  114.                 {
  115.                         printf(" |   ");
  116.                 }
  117.         }
  118.         }
  119.        
  120.         return 1;
  121. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 05:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表