❶ c语言输出不确定值为什么
你把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],你最后的输出出错了
❷ c语言中的空函数返回一个不确定的值的意思是返回的数据的数据类型不确定还是返回的数据没有确定的值
返回的数据是个不确定的值,原因是:
1、你定义函数fun()前面加void或者不加时,默认是无返回值,或者也说返回了一个垃圾数据
2、而这个垃圾数据通常都是固定的一串整形的数据,因为这是编译器编译时释放函数没有返回值,所以系统随机返回的一个垃圾值,而往往你输出验证时就是差不多大小一个整形数据。
3、也有人理解无返回值,这只是一种理解和解释编译器规则的想法。
如果满意,请采纳!
❸ C语言选择题,求大神帮忙解答,为什么输出结果不确定请给出具体解析。
fun(2,3,c);中的c是函数fun中的局部变量,与int c;中的c不是同一个变量,当fun函数结束后,fun(2,3,c);中的c将会被编译器销毁,后面的printf语句其实是输出的int c;中的c的值,而语句int c;是声明了int型变量,但是没有给它赋值,所以它的值是不确定的(垃圾值)