7—3 int ascii_to_integer(char *);
2016-03-02 22:44
211 查看
要求字符串参数转化为整数,若有非数字直接返回0
#include<iostream.h>
int ascii_to_integer(char *);
void main()
{
// char a[]="123";
//char b=123;
char c='5'; //注意!!区别
//cout<<ascii_to_integer(a)<<endl;
//cout<<"~~~~~~~~~~~~~~~~~~"<<endl;
//cout<<ascii_to_integer(&b)<<endl;
cout<<"~~~~~~~~~~~~~~~~~~"<<endl;
cout<<ascii_to_integer(&c)<<endl;
}
int ascii_to_integer(char *string)
{
int value=0;
while((*string>='0')&&(*string<='9'))
{
value*=10;
value=value+*string-'0';
string++;
}
if(*string!='\0')
return 0;
return value;
}
小小的程序还是看了答案再来写的,调用函数写了三种char初始化的形式,char c='5'; 和小庞在这一起看,就是出来0,不应该啊。。。。准备单步调试看的,可是一会儿就跳到汇编语言那了。。。然后小庞看出来了,char c='5'; 后面本身就默认没有‘\0’ !!!!!!!!!原来是这样子的,,,小胖也是蛮厉害的
#include<iostream.h>
int ascii_to_integer(char *);
void main()
{
// char a[]="123";
//char b=123;
char c='5'; //注意!!区别
//cout<<ascii_to_integer(a)<<endl;
//cout<<"~~~~~~~~~~~~~~~~~~"<<endl;
//cout<<ascii_to_integer(&b)<<endl;
cout<<"~~~~~~~~~~~~~~~~~~"<<endl;
cout<<ascii_to_integer(&c)<<endl;
}
int ascii_to_integer(char *string)
{
int value=0;
while((*string>='0')&&(*string<='9'))
{
value*=10;
value=value+*string-'0';
string++;
}
if(*string!='\0')
return 0;
return value;
}
小小的程序还是看了答案再来写的,调用函数写了三种char初始化的形式,char c='5'; 和小庞在这一起看,就是出来0,不应该啊。。。。准备单步调试看的,可是一会儿就跳到汇编语言那了。。。然后小庞看出来了,char c='5'; 后面本身就默认没有‘\0’ !!!!!!!!!原来是这样子的,,,小胖也是蛮厉害的
相关文章推荐
- redis 和mongodb区别
- C++设计模式之单例模式
- 留下点记忆
- 转 c#代码访问https服务器以及https的webservice
- bzoj 1087: [SCOI2005]互不侵犯King
- web请求状态码
- 会计分录的借和贷
- 在公共函数中区分上层调用者的模型
- php如何修改SESSION的生存时间
- 设计模式之访问者模式
- [读书笔记]《APP研发录》第一章
- Qt的事件机制和用途
- 会计分录的借和贷
- Docker - How to create a custom database from docker mysql image
- 关于linux上使用vi时,方向键出现ABCD的个人总结
- 转行自学android,Day10-顺畅
- 设计具有背景图的按钮(ImageButton的焦点及事件处理)
- 解读Google官方SwipeRefreshLayout控件源码,带你揭秘Android下拉刷新的实现原理
- pthread_create函数
- 一个特别适合新手练习的Android小项目——每日一妹纸