I am having character array with integer elements for example data[4]={"1234"}. I want to convert it into integer elements . There could be most simple way i.e.subtract 48 from each array element to get corresponding integer number. Here ,I am using atoi() function but not getting expected result.Current output: 1234 , 234 , 34 , 4
Expected output: 1 , 2 , 3 , 4 How should I get it?
#include<stdio.h>
#include<string.h>
int main(void)
{
int num0;
int num1;
int num2;
int num3;
char data[6]={"1234"};
num0 =atoi(&data[0]);
printf("num0 =%d\n",num0);
num1 =atoi(&data[1]);
printf("num1 =%d\n",num1);
num2 =atoi(&data[2]);
printf("num2 =%d\n",num2);
num3 =atoi(&data[3]);
printf("num3 =%d\n",num3);
return 0;
}
data[4]={"1234"}This is wrong. That literal "1234" takes 5 characters (remember that trailing NUL byte)#include <stdlib.h>char data[] = { "1234" };