#c #arrays #integer
#c #массивы #целое число
Вопрос:
Я хочу спросить, есть ли способ, с помощью которого я могу преобразовать некоторую часть массива int в переменную int
например
// my integer array contain 3,4,5,2,7
int array[] = {3,4,5 ,7,1,5,5,} ;
и я хочу, чтобы переменная int содержала только первые 3 элемента массива, то есть моя переменная должна быть такой
`
int var = 345 ; // first three array members
я использую программирование на C
, спасибо
Ответ №1:
Может быть, что-то вроде этого?
int var = 0;
for (i = 0; i < 3; i ) {
var *= 10;
var = array[i];
}
Ответ №2:
Вы имеете в виду строковое соединение?
char tmp[64];
sprintf(tmp, "%d%d%d", array[0], array[1], array[2]);
var = atoi(tmp);
Обратите внимание, что приведенный выше код не проверял int или переполнение буфера.
Ответ №3:
char *s = (char*)malloc(sizeof(char) * numOfArrayElementsToConvert);
for(int i =0;i<numOfArrayElementsToConvert;i ){
s[i] = itoa(arr[i]);
}
int var = atoi(s);
Комментарии:
1. itoa не является стандартной функцией c lib, и она возвращает
char *
то, что вы используетеchar *s
без инициализации.