关于C语言中的unsigned

在C语言中,对unsigned做出(unsigned int)i>=0 判断,将会得到一个永真值。

    int i;
    for(i=10;i-sizeof(int)>=0;i--){
        printf("yes");
    }

or

  unsigned int i;
  for(i=10;i>=0;i--){
      printf("yes");
  }

程序将不会停止
sizeof(int)返回的是一个无符号类型的值!
总结:
在表达式的计算中,如果出现了无符号的变量或常量,该表达式最后的结果也为无符号类型---要区分无符号类型和有符号类型的最大值计算方式的差异

posted @ 2021-07-03 08:08  sunshineoier  阅读(516)  评论(0)    收藏  举报