使用atoi和char

Joh*_*Doe 6 c atoi

有没有办法在C中将char转换为字符串?

我试着这样做:

   char *array;

   array[0] = '1';

   int x = atoi(array);

   printf("%d",x);
Run Code Online (Sandbox Code Playgroud)

Blu*_*eft 23

char c = '1';
int x = c - '0';
printf("%d",x);
Run Code Online (Sandbox Code Playgroud)


Pla*_*ure 6

如果您正在尝试将数字字符转换为int,只需使用字符算术来减去ASCII代码:

int x = myChar - '0';
printf("%d\n", x);
Run Code Online (Sandbox Code Playgroud)


Pau*_*els 5

您需要为字符串分配内存,然后null终止.

char *array;

array = malloc(2);
array[0] = '1';
array[1] = '\0';

int x = atoi(array);

printf("%d",x);
Run Code Online (Sandbox Code Playgroud)

或者,更容易:

char array[10];

array = "1";

int x = atoi(array);

printf("%d",x);
Run Code Online (Sandbox Code Playgroud)


Jac*_*cob 4

怎么样:

   char arr[] = "X";
   int x;
   arr[0] = '9';
   x = atoi(arr);
   printf("%d",x);
Run Code Online (Sandbox Code Playgroud)