atoi函数参数是const char*,string[0]是char,不是char*。且atoi函数内部以‘\0’终结循环,因此atoi只能转字符串。
你的写法不行。
char s[]="9";
int x=atoi( &s[0]); int x=atoi( s); 都可以
如果只专转一个字符:
int x = s[0] - '0'; // 这多简单
int x = atoi(string[0]); //你这样写是错的,string[0]是这个字符串的首字符,而不是字符串
正确的写法是:
int x = atoi(string);
附上atoi()函数的原型:
int atoi(const char *str );