社区 C语言 帖子详情 一段关于atoi()函数的转换问题 跟着心跳走 2012-01-08 08:26:52 #include #include int main() { char a[] = "-100" ; char b[] = "123" ; int c ; c = at……
社区
C语言 帖子详情 一段关于atoi()函数的转换问题 跟着心跳走 2012-01-08 08:26:52 #include
#include
int main()
{
char a[] = "-100" ;
char b[] = "123" ;
int c ;
c = atoi( a ) + atoi( b ) ;
printf("c = %d\n", c) ;
return 0;
}
执行结果 c = 23
问题:为什么会是 c=23,而不是c=123呢?我个人认为在c = atoi( a ) + atoi( b ) ;中,atoi(a)=0,atoi(b)=123,所以
c=123,不知道我的答案对不对?
...全文
542 16 打赏 收藏 一段关于atoi()函数的转换问题 #include #include int main() { char a[] = "-100" ; char b[] = "123" ; int c ; c = atoi( a ) + atoi( b ) ; printf("c = %d\n", c) ; return 0; } 执行结果 c = 23 问题:为什么会是 c=23,而不是c=123呢?我个人认为在c = atoi( a ) + at 复制链接
扫一扫 分享 转发到动态 举报 AI 作业
写回复 配置赞助广告取 消
确 定
用AI写文章 16 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 赵4老师 2012-01-10 打赏举报 回复 char a[] = "-100";//这样就会是0 (^_^)
siasjack 2012-01-10 打赏举报 回复
#include
int my_atoi(const char* p){
assert(p != NULL);
bool neg_flag = false;// 符号标记
int res = 0;// 结果
if(p[0] == '+' || p[0] == '-')
neg_flag = (*p++ != '+');
while(isdigit(*p)) res = res*10 + (*p++ - '0');
return neg_flag ? -res : res;
}
这是实现atoi的程序,程序中有关于正负号的区分! 炜娓道来程序人生 2012-01-10 打赏举报 回复 这个兄弟太搞笑了,你为什么认为该是0呢?讲讲 deandeanabcd123 2012-01-10 打赏举报 回复 可以区分,相关的还是可以上网看看源码 luciferisnotsatan 2012-01-10 打赏举报 回复 atoi认识负号,从它的返回类型int也能看出 jacknes009 2012-01-10 打赏举报 回复 atoi 区分正负的 跟着心跳走 2012-01-10 打赏举报 回复 谢谢大家! bihackers 2012-01-09 打赏举报 回复 atoi函数可以识别正负号的,你看到注释是那本书的饿..... robin平安 2012-01-08 打赏举报 回复 atoi()函数是可以区分 + - 号的,如果你想跳过 第一个负号可以使用 atoi( &a[1])..
一楼正解! 小耸 2012-01-08 打赏举报 回复 [Quote=引用 1 楼 nnrroo 的回复:]
你为什么会认为是 0 呢?
如果 atoi() 函数连个正负号都识别不出来, 这函数也太那个了......
你可以看看 atoi() 函数或者 atol() 的源代码. 里面有判断正负号的语句.
[/Quote]
++ AnYidan 2012-01-08 打赏举报 回复 lz 认为应该是多少?
为了一个函数,要更改千年来大家的共识吗? cookles13 2012-01-08 打赏举报 回复 C语言库函数名: atoi
功 能: 把字符串转换成整型数.
名字来源:array to integer 的缩写.
原型: int atoi(const char *nptr);
函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。
yuefy520 2012-01-08 打赏举报 回复 你既然已经赋值.怎么会是0呢. turing-complete 2012-01-08 打赏举报 回复 一楼讲的是正确的,正负号有判断的。 狂且 2012-01-08 打赏举报 回复 你为什么会认为是 0 呢?
如果 atoi() 函数连个正负号都识别不出来, 这函数也太那个了......
你可以看看 atoi() 函数或者 atol() 的源代码. 里面有判断正负号的语句. Ever_lover 2012-01-08 打赏举报 回复 看源码是解决此问题的最佳方式 c语言函数总结 c语言函数总结,自己的一些东西 atoi函数详解及其模拟实现——一篇文章带你彻底搞懂atoi 一篇文章带你彻底搞懂atoi函数! 【atoi函数的介绍以及模拟实现】 atoi函数功能讲解和模拟实现,以及相关函数介绍。 C语言--atoi函数(附模拟实现) 函数是 C 语言中的一个标准库函数,它的全称是 “ASCII to integer”,它接受一个字符串参数,并返回对应的整数。函数只接受 ASCII 字符的字符串。如果字符串中包含非 ASCII 字符,或者包含不能转换为数字的字符,那么。会忽略输入字符串中的空白字符(例如空格、换行符等),然后从第一个非空白字符开始,读取连续的数字字符,直到遇到非数字字符为止,将这一段数字字符转换为对应的整数值。类型的指针,指向要转换的字符串。函数返回值是转换后的整数值。,它的参数是一个指向字符串的指针。 C++中atoi()函数的用法 1 功能
atoi()函数将数字格式的字符串转换为整数类型。例如,将字符串“12345”转换成数字12345。
2 格式
该函数的格式为
int atoi(const char* str)
其中,参数str是要转换的字符串,返回值是转换后的整数。
3 注意事项
3.1 关于参数的注意事项
在“2 格式”中提到,atoi()函数的参数是要转换的字符串。该字符串的格式为
[空格][符号][数字]
其中,空格可以是键盘中的空格字符或者是Tab字符;符号可以是表示正数的“+”,也可以是表示负数的“-”;数字即为数
C语言
70,026
社区成员
243,244
社区内容
发帖 与我相关 我的任务 C语言 C语言相关问题讨论 复制链接
扫一扫 分享 确定 社区描述 C语言相关问题讨论 社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告 试试用AI创作助手写篇文章吧
+ 用AI写文章