gpt4 book ai didi

无法使用 atoi() 将 char 数字转换为 int

转载 作者:行者123 更新时间:2023-11-30 20:30:06 25 4
gpt4 key购买 nike

我已经搞乱了这个玩具代码一段时间了,但我不明白为什么它不会将字符号转换为 int。有人可以向我解释一下吗?

谢谢

#include <stdio.h> 

void fun(char a[]);



int main(int argc, char *argv[]) {
char b[] = {'2','8'};

fun(b);

}

void fun(char a[]){


int i = 2 * atoi(a[0]);
int j = 2 * atoi(a[1]);
printf("this is i: %d, this is j: %d\n", i, j);
}

它返回此错误:new.c:在函数“fun”中:new.c:25:22:警告:传递“atoi”的参数 1 使指针来自整数而不进行强制转换 [-Wint-conversion]int i = 2 * atoi(a[0]);

最佳答案

假设您需要将28字符分别转换为数字。您需要两个不同的数组来转换数字

char a[] = "2";
char b[] = "8";

i = atoi (a);
j = atoi (b);

如果您只想转换单位数字,使用字符而不是字符串的更简单方法如下

char a = '2';
char b = '8';

i = '2' - '0';
j = '2' - '0';

关于无法使用 atoi() 将 char 数字转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55272926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com