【发布时间】:2021-09-02 06:25:19
【问题描述】:
#include<stdio.h>
#include<stdlib.h>
#define LENGTH 5
void convert ( char parray[] ,int array[] )
{
int i;
for (i=0; i< LENGTH; i++)
{
array[i] = atoi(&parray[i]);
printf(" The converted array is %d\n" , array[i]);
}
}
int main ()
{
char parray[LENGTH] = { '7', '1', '4','5' ,'2'};
int iarray[LENGTH];
convert(parray, iarray);
}
********* 输出*********
The converted array is 71452
The converted array is 1452
The converted array is 452
The converted array is 52
The converted array is 2
But I want the following output like this
The converted array is 7
The converted array is 1
The converted array is 4
The converted array is 5
The converted array is 2
它应该在 array[0] 中存储 7 的值,在 array[1] 中存储 1 !!!!请帮忙
【问题讨论】:
-
我试过它给了我错误 Mr.LSerni : 错误:传递 'atoi' 的参数 1 使指针从整数没有强制转换 [-Werror=int-conversion] array[i] = atoi(parray [i]);
-
1) 字符串需要以空值结尾。 2) atoi 将整个字符串转换为整数,而不是逐位转换。
-
对不起,我没有仔细看。我认为这是一个不同性质的数组。 MikeCAT已经给出了正确答案。
-
感谢 Mr.LSerni 和 Mr.Lundin 的宝贵时间
标签: arrays c type-conversion