c语言的数组中能不能包含未知数?

比如这样定义:
int a[2][2]={{1,2},{3,x}}
然后x是通过scanf输入的,比如4
最后是否能printf这个数组({1,2},{3,4})?

哎呀,你先随便定义一个不就行了吗?算出来的时候再覆盖掉不就好了吗?
你一开始就定义
int a[6][6];
for(int i = 0; i < 6; i++)
{
for(int j = 0; j < 6; j++)
{
a[i][j] = fun(****);
}
}
你没有定义一个数不代表这个位置不能存在一个随机数呀。像一般的电脑里面没有被初始化的静态数组里面都是有数字的,但是你想用的时候第一步就是对这个数组初始化。因为你认为原来的数没有意义。你现在也应该这么想
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-05
不行,你的x没有定义,还有你的x是一个变量你可以把它初始化为0,
int a[2][2]={0}这样是将这个二维数组初始化为0,你也可以这样
int a[2][2]={1,2,3,};
scanf("%d",&a[1][1]);
for(int i=0;i<2;++i)
for(int j=0;j<2;++j)
{
pintf("%d\n",a[i][j]);
}追问

现在我遇到这样一个问题,一个6*6的矩阵,里面每个数都是未知数,都需要通过另外的公式计算得到,那这个数组该怎么定义呢?是不是在定义这个数组之前都要把这些未知数定义了?

追答

是的,你的意思是这个二维数组已经被赋值了,再通过另外一个函数得到,那就要赋值了

第2个回答  2013-01-07
@现在我遇到这样一个问题,一个6*6的矩阵,里面每个数都是未知数,都需要通过另外的公式计算得到,那这个数组该怎么定义呢?是不是在定义这个数组之前都要把这些未知数都通过公式和scanf定义了?
回答:先根据36个数的类型(如int),定义int a[6][6]={0},这个语句的意思是:36个元素都设为0.在后来的计算中,将开始的元素替换掉就可以了,如 a[5][5] = 100;(将最后一个元素设为100)
第3个回答  2013-01-07
最后不能printf这个数组({1,2},{3,4})。来自:求助得到的回答
第3个回答  2013-01-07
你的追问的问题其实可以只是在二维数组中存放该矩阵每个元素的系数,如果你后面把x的值求出来了,直接让每个元素都乘以x的值不就可以得到求解后的矩阵了嘛,或者我理解错你的意思了?