#include<iostream.h>
#include<vector>
#include<string>
using namespace std;
int main()
{
char c_i=5;
char c_p=2;
char c_r=c_i/c_p;
cout<<(int)c_r; //此输出和 cout<<c_i/c_p;可以出结果;
//cout<<c_r;会出来一个圈(不认识是什么符号)
}
想问下作用的机理?
char/char出来是char 还是int? 对此char“除/”的过程是如何运行的?
#include<iostream.h>
#include<vector>
#include<string>
using namespace std;
int main()
{
char c_i=5;
char c_p=2;
char c_r=(char)c_i/c_p;
cout<<c_r;
}
我又这样试了一下还是不行 彻底糊涂了~
/的左右操作类型为数值,其实char本身就是一个整形数据,可以看一下ASCII表,char/char得到的是一个整形数据,对char做/操作的时候会将char看做整形数据。具体怎么个过程,看一下反汇编。
还是不太懂啊 那我将char c_r=(char)c_i/c_p; 为什么还是无法正确输出呢?
麻烦您给详细解答下哈 谢谢!
@爱的谜语: 怎么不能正确输出啊,你现在得到的c_r是2,是一个不可见字符。
@Wang Hui: 哦 我明白了 谢谢老师!