为什么以下循环不会无限次运行?我希望在达到 65535 时,i
应该溢出回零。
#include<stdio.h>
int main()
{
short int i = 0; //(assume short int is 2 bytes)
for(i<=5 && i>=-1; ++i; i>0)
printf("%u\n", i);
return 0;
}
编辑
那这个呢
#include<stdio.h>
int main()
{
int x=1, y=1;
for(; y; printf("%d %d\n", x, y))
{
y = x++ <= 5;
}
printf("\n");
return 0;
}
它运行良好并打印
2 1
3 1
4 1
5 1
6 1
7 0
是什么让它终止?