(int)char*和atoi()有区别吗?
(int)和atoi()都是强制转换成int型,它们之间有区别吗?
[解决办法]
有,假如char *s = "1111";
(int)的结果将是0x31313131,十进制多少自己算。
atoi的结果是1111
[解决办法]
当然有区别。
一个是把“365”按照字符表示的意思转成365. atoi
而强制转换时把“365”的第一个char*的地址,看成是int的内存布局。谁知道会是什么东西
[解决办法]
- C/C++ code
#include <iostream>using namespace std;void main(){ char *a = "ac"; int s = (int)a; int ss = atoi( a);}
[解决办法]
mark
如果没区别 那么我以后就会经常用(int)char*了