C语言中的数组

我只有一个有关预递增的问题。例如,我们有一个数组[6] = {1,2,3,4,5,6};对于(i=0; i<6; i ){array=array[i 1];}
 
他在循环中递增,这是完全正常和常见的。请注意,你可以使用 for 循环语法轻松地将 for 循环转换为 while 循环:for( ; i<6 ; ){ i ;} 等同于 while(i<6){ i ;}
 
我了解 Java 基础知识,在这种情况下它类似于 C,我认为这是因为这个:(i=0; i < 6; 1),它不能是一个静态数字。前增量必须在 for() 中作为第三个参数定义。
 

gradenlauru1985

New member
for(i=0; i < 6; 1){array=array[ i];}我认为这是因为for循环的第三个参数是错误的。第三个参数应该是自增的。‘i ’。
 

asbepolmo1970

New member
使用你的代码最后一个元素索引将超出边界,所以你的代码a= a[i 1] 或其他代码也都不能正常工作。
 

plasimowma1988

New member
实际上你是错的。无论是array = array[i ];还是array = array[ i];的结果都是未定义行为。查一下顺序点。在代码中都不应该有对i的递增,而应该直接使用i 1…对我来说这似乎是一篇教科书般的回复。你对C并不了解…
 

dedomindmi1978

New member
你的第一段代码无法运行,因为在循环结束时,你正在访问数组边界外的元素。第二段代码无法运行,因为你在每个步骤中递增i。所以再次访问数组边界外的元素。
 
顶部