for循环,unsigned short

来源:互联网 发布:广州婚纱摄影排名 知乎 编辑:程序博客网 时间:2024/06/03 07:25

运行下面的代码,结果为?

#include<stdio.h>void main(){unsigned short i,j;unsigned long x=0;for(i=0,j=2;i!=j;i+=5,j+=7){x++;}printf("%ld\n",x);}

答案是:32767


unsigned short占2个字节,表示范围为0~2^16-1,按照题意,应该是j比i大2^16时,在存储中,i和j的值相等。

0+5*x=2+7*x-65536,解得x=32767。此时i=j=32763

0 0