如何解决cout 和 printf 的不同输出
我无法理解为什么 cout 和 printf 在 unsigned int 的情况下显示不同的输出。我有研究表明在 unsigned int 的情况下,如果值变成负包装会发生。为什么 printf 显示负值而不是像 cout 那样环绕?有什么我遗漏的吗?
#include <iostream>
using namespace std;
int main(){
int c = 6;
unsigned int x = 2;
while (c--) {
cout<<x<<" ";
printf("%d ",x);
x--;
cout<<endl;
}
return 0;
}
2 2
1 1
0 0
4294967295 -1
4294967294 -2
4294967293 -3
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。