我想用atoi函数将某个字符串中的数字转换为int型,然后算出结果,但是运行后说atoi传入的参数类型不匹配,我字符串数组中每个元素都是char类型的,难道类型不匹配?代码如下所示:
char str1[] = "5";
char str2[] = "6";
printf("%d", atoi(str1) + atoi(str2));
那为什么这样就正确呢,我遍历的每一个数据不都是单个char吗?我是初学者,麻烦详细解答一下,谢谢
下面的str1 和str2 可以看作一个数组的首地址,说白了就是个指向一个字符串数组首地址的指针
atoi要求传入的是一个char 型指针
所以这个是正确的
char 跟char*是有区别的、
在你的题目中,可以将
a+ = atoi(res[i]);
改为
a+ = atoi(res + i);