| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 415 人关注过本帖
标题:高手进来问个问题
只看楼主 加入收藏
homexxhh
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-1-16
收藏
 问题点数:0 回复次数:4 
高手进来问个问题
看下这个程序:

#include "iostream.h"
#include "string.h"
void main()
{
char b_num[20];
int nu;
cin>>b_num;
nu=b_num[strlen(b_num)-1]-48;
b_num[strlen(b_num)-1]='\0';

cout<<b_num<<endl;
cout<<nu<<endl;
}

有背景颜色的那两句是怎么执行的???
谢谢~~~
搜索更多相关主题的帖子: include 
2007-02-01 15:48
dlcdavid
Rank: 3Rank: 3
来 自:成都
等 级:新手上路
威 望:6
帖 子:193
专家分:0
注 册:2005-12-23
收藏
得分:0 
nu=b_num[strlen(b_num)-1]-48;
//先求得strlen(b_num),即b_num的长度,再将其结果-1,作为下标访问b_num.即访问b_num的最后一位.
//然后将b_num最后一位的值-48.返回结果赋给nu.
b_num[strlen(b_num)-1]='\0';
//前面部分同上,最后把b_num最后一位的值赋为'\0'

为了C++,我放弃了课本
为了高考,我又放弃了C++
现在而今眼目下,我能做什么?www.
2007-02-02 18:35
homexxhh
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-1-16
收藏
得分:0 

谢谢指点~~~~~原因在于char类型跟int类型的转换上!

2007-02-05 00:50
lc8023
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2005-3-24
收藏
得分:0 
以下是引用dlcdavid在2007-2-2 18:35:07的发言:
nu=b_num[strlen(b_num)-1]-48;
//先求得strlen(b_num),即b_num的长度,再将其结果-1,作为下标访问b_num.即访问b_num的最后一位.
//然后将b_num最后一位的值-48.返回结果赋给nu.
b_num[strlen(b_num)-1]='\0';
//前面部分同上,最后把b_num最后一位的值赋为'\0'

nu=b_num[strlen(b_num)-1]-48;
这里把字符 b_num[strlen(b_num)-1] 转换为了 ASCII 码了,
你可以这样来验证一下:
char b_num[20];
int nu;
cin>>b_num;
nu = b_num[strlen(b_num)-1];
cout << ss <<endl;

每次输入如果是1结尾那就输出 49,如果是2结尾那就输出 50 一次类推。。。。。。。

不知道这样说你是否明白


C++技术交流群:34484269 欢迎一起来学习...
2007-02-05 09:14
dlcdavid
Rank: 3Rank: 3
来 自:成都
等 级:新手上路
威 望:6
帖 子:193
专家分:0
注 册:2005-12-23
收藏
得分:0 
楼上的ss是什么东西,,,

[此贴子已经被作者于2007-2-9 13:45:29编辑过]


为了C++,我放弃了课本
为了高考,我又放弃了C++
现在而今眼目下,我能做什么?www.
2007-02-09 13:43
快速回复:高手进来问个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011383 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved