以下是代码:
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()是否不能用于指针。有这样的事实吗?
注意:当我说没有工作时,我的意思是程序退出时会显示错误代码而不是执行到最后。
答案 0 :(得分:2)
如果你有这样的陈述
const char x = P_char[4];
然后输出存储在x中的数字作为整数,您可以通过以下方式
printf("The int result is: %d", x - '0' );
对于函数atoi
,它将应用于字符串而不是单个字符。
答案 1 :(得分:0)
函数atoi用于将C字符串转换为数字。它被声明为:
int atoi(const char *nptr);
您将char值作为参数。你必须使用这样的东西:
const char *s = "4711";
int i = atoi(s)