6"); else printf("" />
入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

int和unsigned int相互转换的问题

创建时间:2016-03-04 投稿人: 浏览次数:4321

先看下面这段代码:

#include <stdio.h>

void main()
{
	unsigned int a=6;
	int b=-20;
	if((a+b)>6)
		printf(">6");
	else
		printf("<=6");
}

乍看认为结果是<=6,其实是>6,这是因为a+b做了隐式的转换,把int转换为unsigned int. 编译器就会把b当做一个很大的正数!!!

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像