iostream程序问题

来源:百度知道 编辑:UC知道 时间:2024/09/24 18:17:42
#include<iostream>
using namespace std;
int main()
{
unsigned short int i=0;
int j=8,p;
p=i<<1;
I=I-1;
cout<<"\n i="<<I;
cout<<"\n p="<<p;
return 0;
}
请问这个程序的运行结果是什么啊?能不能给解释一下啊 谢谢

结果:
i=65535 //因为i为无符号短整形,占2个字节
p=0
//注意修改大写的"I"为的小写"i",否则编译会出错

#include<iostream>
using namespace std;
int main()
{
unsigned short int i=0;
int j=8,p;
p=i<<1; //p的值等于i的值左移一位,因为原等于0,所以p也等于0
I=I-1; //i为无符号短整形,占两个字节(值为0~65535),0再减去1就等于65535
cout<<"\n i="<<I; //输出i的值
cout<<"\n p="<<p; //输出p的值
return 0;
}