Распечатать массив C в Objective-C «NSLog»

#objective-c #c #arrays

#objective-c #c #массивы

Вопрос:

Я пытаюсь вывести и использовать C Array ( int inverse[3] ) NSLog , но если я попробую этот способ:

 NSLog([NSString stringWithFormat:@"%d", inverse]);
  

Это просто не сработает, но если я попробую так:

 NSLog([NSString stringWithFormat:@"%d", inverse[0]]);
  

Я получаю правильный вывод.
Моя цель — вывести весь массив.

Есть идеи? Спасибо

Ответ №1:

Используйте цикл for для печати всех значений.

 for (int i=0; i<3; i  ) {
    NSLog(@"%i", inverse[i]);
}
  

или:

 NSLog(@"%i, %i, %i", inverse[0], inverse[1], inverse[2]);
  

Ответ №2:

Нет необходимости конвертировать для преобразования в формат строки. Вы можете печатать следующим образом —

 for ( int i=0; i<3;   i )
    NSLog(@"%i", inverse[i]);
  

Комментарии:

1. Я хочу напечатать весь массив, а не только один int.

2. Anh.. Подумал, что это будет более простой способ вывести это. Ненавижу заполнять мой код «ненужными» «fors» и «whiles». В любом случае спасибо: D

3. @markus: функция не может знать размер переданного ей массива, поэтому требуемый синтаксис просто невозможен в c . вы можете написать собственную функцию, которая принимает массив и размер, но ничего, что может принимать только массив.