下面是代码:如何使用atoi()将char数组的元素转换为int?
char *P_char = malloc(sizeof(char)*10);
int i = 0;
for(i; i < 10; i++)
{
P_char[i] = (char)(i + 48);
}
这里有一些我为了使用的atoi
printf("The int result is: %d", atoi(P_char[4]));
和
int converted = atoi(P_char[4]);
printf("The int result is: %d", converted);
和
const char x = P_char[4];
int converted = atoi(x);
printf("The int result is: %d", converted);
已经尝试的代码
但仍然无法正常工作。我找不到atoi()是否不适用于指针。有这样的事实吗?
NOTE:当我说不起作用,我的意思是程序退出错误代码,而不是执行到最后。
你想转换'char'为整数,但你需要通过'字符*' –
放'&P_char [4]如您所愿'但可能无法正常工作。它似乎你尝试将一个'char'转换为int。 – HuStmpHrrr
你读过atoi的manpage吗? atoi将字符串转换为整数,而不是将char转换为整数。 char转换为整数只需要转换... –