c语言中atoi函数的疑问

查看:147
本文介绍了c语言中atoi函数的疑问的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

之前我在xcode中使用c语言atoi函数时,能转换成对应的整数,但当在dev c++
中运行,却转换出错。我想知道这是为什么呢?

先说一下之前没贴代码,之前去青岛三天,去的那天晚上写的问题,回来两天是考试,很抱歉没贴代码,我的错。
下面是正题:
今晚我又看了一遍代码,发现之前忽略了atoi函数的参数是字符串,所以之前的代码是
屏幕快照 2017-06-15 20.14.15
屏幕快照 2017-06-15 20.14.23

结果是

在xcode中没有出错,而在dev c++中出错,结果为
错误源码.PNG

错误结果.PNG

就这样让我摸不着头脑,今晚我改成了
修改后的源码.PNG

结果正确
现在还有个疑问求大家解答:
对于单个字符t1,在atoi中,atoi(t1)会报错,而atoi(&t1)不会报错,我想问’&‘的作用是什么,请指教。

解决方案

其实atoi()的参数为const char *str,也就是一个指向字符的指针,而t1显然不是一个指针,所以atoi(t1)会报错。
而&为取地址操作,&t1的值就是t1所在的地址的值,相当于一个指向t1的指针的值,所以atoi(&t1)是合法的。
作为参数传递时,C中的字符串和字符数组实际实现为传递其指向第一个字符的指针

这篇关于c语言中atoi函数的疑问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆