我正在使用ch尝试为数组创建一个for循环,该循环将在其之前生成该数组的值的两倍,但我不断收到相同的错误消息。哦,我也在ch中创建了这个,所以我不确定我的错误是否与此有关或者我的代码是否有缺陷。到目前为止,这是我的代码,我觉得它应该可以工作,但是我知道我遗漏了一些东西:
ch> int a[10]
ch> int i
ch> for (i=1; i<10; i++)\
ch> a[i] = 2 * a[i-1]
那是我的代码,我期望这个输出
ch> a[9]
512
但是我得到了
ch> a[9]
0
我希望能够在for循环中将所有9个值并排打印为右对齐
0 1
1 2
2 4
3 8
4 16
5 32
当我尝试正确地证明它为printf(“%i%-5i”,i,a [i]);
我收到错误警告:下标值10大于上限9
10 512
当我希望按上述方式打印ti时。
这是因为您尚未初始化a[0]
,默认情况下可能将其设置为0。由于a[1] = 2*a[0]
它将等于0,因此以下所有值也将均为0。
做a[0] = 1
循环开始前,你会得到的两个大国,因为这样会有:
a[0] = 1 = 1
a[1] = 1*2 = 2
a[2] = 2*2 = 4
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句