What's wrong?
#include<stdio.h>int main()
{
int a = {
{1,2,3},
{4,5,6}
};
int b = {
{1,4},
{2,5},
{3,6}
};
/*0 iw k-j
a*b
a*b
a*b
*/
int i,j,in=0;
int r = {0};
for(i = 0;i < 2;i++)
{
for(j = 0; j < 3;j++)
{
r = a*b;
}
}
//printf("%d %d\n",b,b);
printf("\
| %d %d %d | | %d %d | | %d %d |\n\
| %d %d %d | * | %d %d | = | %d %d |\n\
| %d %d |\n",a,a,a,\
b,b,r,r,a,a,a,\
b,b,r,r,b,b);
}结果却是:
| 1 2 3 | | 25 36 | | 1 4 |
| 4 5 6 | * | 5 3 | = | 9 16 |
| 3 6 |请指教到底是为什么,b与b发生了变化?
int r = {0}
这里改成int r = {0} 首先27行有问题, r = a*b;
然后,你为什么用两层for循环?
// int r = {0}; // 为什么要留4个int
int r = {0};
for(size_t i = 0; i < 3; ++i)
{
r = a * b;
}
页:
[1]