C语言输出不确定值为什么?

{int a[2]={0},i,j,k=2;
for(i=0;i<k;i++)
for(j=0;j<k;j++)a[j]=j[i]+1;
printf("%d\n",a[2]);
}
可以改得能运行吗?

你把a[j]=j[i]+1;改成a[j]=a[i]+1;
把printf("%d\n",a[2]);改成printf("%d\n",a[1]);就行了
越界了。你定义的int a[2];它的下标是从0开始的,即只有a[0],a[1],没有a[2],你最后的输出出错了
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-10-28
int a[2]={0}

定义一维整形数组a,a大小是2,并给a[0]赋初始值0,a[1]并未赋值,如果查看a[1]的值,就是a指向的地址开始的第二个元素 *(a+1)的值。
第2个回答  2010-10-29
{int a[2]={0},i,j,k=2;
for(i=0;i<k;i++)
for(j=0;j<k;j++)a[j]=j[i]+1;//这行j[]是数组??不能这么定义,
printf("%d\n",a[2]);
}
//输出不确定之是因为没有赋值!!

int i;
printf("%d",i);
就会输出系统随机数;

C语言输出不确定值为什么?
越界了。你定义的int a[2];它的下标是从0开始的,即只有a[0],a[1],没有a[2],你最后的输出出错了

c语言中的空函数返回一个不确定的值的意思是返回的数据的数据类型不确...
返回的数据是个不确定的值,原因是:1、你定义函数fun()前面加void或者不加时,默认是无返回值,或者也说返回了一个垃圾数据 2、而这个垃圾数据通常都是固定的一串整形的数据,因为这是编译器编译时释放函数没有返回值,所以系统随机返回的一个垃圾值,而往往你输出验证时就是差不多大小一个整形数据。

(C语言)为什么这种情况输出的不是ab而是+啊
输出是不确定的。因为sentence没有完全赋值,更不是一个字符串(没有在结尾存入'\\0'),所以输出+也不奇怪。换一台机器或退出重新启动一下可能输出的就不是+了……

为什么是不确定值 求C语言大佬教一下
void main( ){ int iArr[3]={1,2,3},i;for(i=3; i>=1; i++) printf(“ %d ” , iArr[i] );} 因为数组定义iArr[3]={1,2,3}的可用数组元素为iArr[0]~iArr[2]。现在的循环中的下标,将从3,4,5,………所以,程序应该修改为:include “stdio.h”void main( ){ int...

c语言问题,最高分输出是 0.000000
你函数里一定会循环到二维数组的最后一个数,也就是i一定是2,j一定是5,所以你输出的最大数一定是m[2][5],但是这个已经数组越界了!所以值为0或者不确定(是编译器而定)。所以无论你输什么数,结果都是零。后面两个数一定是2,5。可以将函数改为由返回值的,将最大值返回就行了。include ...

...后面什么都没有,为什么输出的是上一个输出的结果
你这个编译不通过吧,第一,fun函数里面的 i 和 t没有类型说明;第二,main里面的for循环的小括号是中文格式。

C语言这段程序为什么最后一位输出的是零?
但是在贴出的这一部分对代码中,因为变量i的值不确定,那么申请的两个数组的大小都不能确定。而且在数组中输入了10个元素,但是接着的第二个循环中却使用了11个元素进行计算。这里最后一个元素的值就更加是不确定的了。如果输出的“最后一位”就是这个c[10]的话,那么它的值是不确定的。

c语言问题 我的为什么输出一直为1
首先,你这个东西输出的不是1,而是一个不确定值(IND),说明出现除零错误。经过debug发现阶乘出现0.很明显,问题在于阶乘时的变量'zhi'没有初始化。初始化为1,你这个程序就能用了。楼上抢先了,他就是正解。

c语言怎样单独输出一个不确定整数的个位
printf("%d从最低位到最高位分别为:", data);while(data>0) \/\/ 当data=0或小于0时,退出循环,此时所以位数都已取出 { temp = data % 10; \/\/ 取出data的最低位 printf("%d ", temp); \/\/ 输出最低位 data \/= 10; \/\/ 将去掉data的最低位,次低位变为最低位 } } ...

c语言 阅读以下程序,当输入数据的形式为 25,13,10<CR> 正确的输出结果...
因为第一个值是正确的)也就是说 如果 int ret=scanf("%d%d%d",&x,&y,&z);printf("%d",ret);如果输入的是 25,13,10<CR> 则程序会打印1,x的值是输入的第一个数25,但y z却是申请空间时的随机数,所以最后的printf("x+y+z=%d",x+y+z);输出是不确定的 ...

相似回答