解决方案
15
atio的参数是字符串,假如第一个非空格字符存在,是数字或正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零。
&ch2的字符串在你的电脑中被认为成 “43”了。
&ch2的字符串在你的电脑中被认为成 “43”了。
10
这个跟编译环境和内存环境有关了,栈分配是从高地址向低地址分配的,假如ch1和ch2的地址相邻,因ch1在高地址,ch2在低地址,假如ch1后面又刚好是一个终止符,那么num2就可能是34.
atoi的参数是一个c风格的字符串,即以终止符结束的字符串。
本人在VS上得不到你这样的结果,这样的将一个单字符的地址传给atoi是未定义行为
atoi的参数是一个c风格的字符串,即以终止符结束的字符串。
本人在VS上得不到你这样的结果,这样的将一个单字符的地址传给atoi是未定义行为
10
atoi的传入参数应该是以空白符结尾的字符串,你传入的是字符指针,但atoi仍把其当作字符串指针对待,直到遇NULL为止。至于打印出来是43,这跟栈的变量存放顺序有关。
5
atoi需要的参数是以\0结尾的字符串,而不是一个字符