首页 新闻 会员 周边 捐助

看下这个char的运算能说明说明问题?

0
[已解决问题] 解决于 2012-04-16 11:32

  #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;
}

我又这样试了一下还是不行  彻底糊涂了~

爱的谜语的主页 爱的谜语 | 初学一级 | 园豆:187
提问于:2012-04-16 09:58
< >
分享
最佳答案
0

/的左右操作类型为数值,其实char本身就是一个整形数据,可以看一下ASCII表,char/char得到的是一个整形数据,对char做/操作的时候会将char看做整形数据。具体怎么个过程,看一下反汇编。

奖励园豆:5
zsounder | 老鸟四级 |园豆:2819 | 2012-04-16 10:09

  还是不太懂啊 那我将char c_r=(char)c_i/c_p; 为什么还是无法正确输出呢?

麻烦您给详细解答下哈 谢谢!

爱的谜语 | 园豆:187 (初学一级) | 2012-04-16 10:48

@爱的谜语: 怎么不能正确输出啊,你现在得到的c_r是2,是一个不可见字符。

zsounder | 园豆:2819 (老鸟四级) | 2012-04-16 11:19

@Wang Hui: 哦 我明白了 谢谢老师!

爱的谜语 | 园豆:187 (初学一级) | 2012-04-16 11:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册