有个问题想请教一下
本帖最后由 烂泥化刚 于 2021-1-19 03:58 编辑两张图中的“i”是在两个不同的地方声明的
按理来说对这段代码的运行不会有影响吧(应该是这样吧,如果不是的话见笑了)
为什么在我的代码中运行起来有很大影响
(从我发帖的时间来看就能推断出这是一个怎样凄惨悲凉的故事了{:10_266:} 菜鸟日常吗这是?)
先睡了{:9_222:}
作用域不同,没啥影响。不知道在你的代码中有啥影响 能把代码贴出来吗 本帖最后由 烂泥化刚 于 2021-1-19 11:45 编辑
心驰神往 发表于 2021-1-19 11:05
能把代码贴出来吗
这样
我使用的是dev
有问题的代码在《进行矩阵运算(第36行)那一块
这个本可以忽略的问题让我的代码在能运行的基础下一直出错
#include <stdio.h>
int main()
{
int m, n, p;
printf("请输入第一个矩阵的尺寸:(M * P)\n");
scanf("%d * %d", &m, &p);
printf("请输入第二个矩阵的尺寸:(P * N)\n");
scanf("%d * %d", &p, &n);
int array, array2;
int result;
for(int i = 0; i < m*n; i++)
{
*(*result + i) = 0;
}
printf("请输入第一个矩阵的值:\n");
for(int i = 0; i < m; i++)//存入第一个矩阵
{
for(int j = 0; j < p; j++)
{
scanf("%d", &array);
}
}
printf("请输入第二个矩阵的值:\n");
for(int i = 0; i < p; i++)//存入第二个矩阵
{
for(int j = 0; j < n; j++)
{
scanf("%d", &array2);
}
}
//进行矩阵的运算
for(int j = 0; j < m; j++)
{
for(int i = 0; i < n; i++)
{
for(int a = 0; a < p; a++)
{
result += array * array2;
}
}
}
printf("计算结果如下:\n") ;
for(int a = 0, b, i; a < m|| a < p;a++)//开始打印结果
{
for(i = 0; i < 3; i++)
{
if(a < m&& i == 0)
{
putchar('|');
for(b = 0; b < p; b++)
{
printf(" %d", array);
}
}
else if(i == 0)
{
putchar(' ');
for(b = 0; b < p; b++)
{
printf("");
}
}
else if(a < p&& i ==1)
{
putchar('|');
for(b = 0; b < n; b++)
{
printf(" %d", array2);
}
}
else if(i == 1)
{
putchar(' ');
for(b = 0; b < n; b++)
{
printf("");
}
}
else if(a < m&& i ==2)
{
putchar('|');
for(b = 0; b < n; b++)
{
printf(" %d", result);
}
}
else if(i == 2)
{
putchar(' ');
for(b = 0; b < n; b++)
{
printf("");
}
}
if(a == 2&& i == 0)
{
printf(" | * ");
}
else if(a == 2&& i == 1)
{
printf(" | = ");
}
else if(i == 2)
{
printf(" | \n");
}
else
{
printf(" | ");
}
}
}
return 1;
}
页:
[1]