帮我看看下面的程序的输出值是多少,兄弟们

来源:百度知道 编辑:UC知道 时间:2024/07/07 11:59:35
main()
{
int i;
unsigned int j;
i=~0
j=~0
printf("i=%d j=%d\n",i,j);
}
i,j分别是多少啊?2个值相等吗?不相等告诉我为什么?小弟我有题无答案啊,只好请教大家了

数值相等,输出
i=-1 j=-1

i和j数值相等,

但一个是负数,因为有符号,另一个是无符号正整数
输出相同是因为它们都用了%d输出,都按有符号输出,如果
printf("i=%d j=%u",i,j);就会不一样

输出i=-1,j=4294967295

都是-1 相等