新手求助,急,谢谢!
#include<stdio.h>#include<stdlib.h>
#include<conio.h>
int z = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0};
int main(void)
{
int j, n = 0;
for (j = 0; j < 11; j++)
{
printf("z[%d] = %d ", n++, z);
if (10 == z)
{
j++;
printf("z[%d] = %d, j = %d\n", n, z, j);
break;
}
}
printf("z[%d] = %d, z[%d] = %d, z[%d] = %d, %d", n, z, n - 1, z[--n], n, z, n);
_getch();
return 0;
}
/*VC6下运行结果
z = 1 z = 2 z = 3 z = 4 z = 5 z = 6 z = 7 z = 8 z = 9
z = 10, j = 9
z = 9, z = 9, z = 10, 9
*/
/*期待结果
z = 1 z = 2 z = 3 z = 4 z = 5 z = 6 z = 7 z = 8 z = 9
z = 10, j = 9
z = 10, z = 9, z = 9, 10
*/
//求解答,谢谢。 本帖最后由 jackz007 于 2022-11-14 22:03 编辑
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int z = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0};
int main(void)
{
int j, n = 0;
for (j = 0; j < 11; j++)
{
printf("z[%d] = %d ", n ++ , z) ;
if (10 == z)
{
j++;
printf("z[%d] = %d, j = %d\n", n, z, j);
break;
}
}
printf("z[%d] = %d, z[%d] = %d, z[%d] = %d, %d" , n , z , n - 1 , z , n - 1 , z , n + 1) ;
getch() ;
return 0 ;
}
同一个函数里同一个变量作为多个参数多次进行自加、自减操作,属于非确定性运算(第20行),其结果会因编译器的不同而有所不同,所以,必须极力避免这样使用。 @jackz007,谢谢老大,涨知识啦。
页:
[1]