2016-10-25 4 views
-1

Я посмотрел повсюду, и я пытаюсь найти способ распечатать двойной массив в моей программе c. Я не пытаюсь напечатать массив Code 2d, но массив, который является двойным.Как вы печатаете массивы двойных в C?

вот мой код:

#include <stdio.h> 

void printarray(double array[]){ 
    int i; 
    for(int i=0;i<=5;i++){ 
     printf("%.2f\n",array[i]) 
    } 
} 

int main() { 

    double array={1.0,2.0,3.0,4.0,5.0}; 

} 
+2

Начало научившись писать действительный C. Как один 'double' быть массивом? – John3136

+0

Что ты имеешь в виду, сэр? –

+1

Вы также пытаетесь напечатать 6 элементов 5-элементного массива; измените 'i <= 5' на' i <5'. Еще лучше передать длину массива в качестве второго параметра. –

ответ

-1

Рабочий код ниже. Обычно вы должны передать размер массива в качестве второго параметра. Но это основная функциональность, которую я предполагаю, что вы хотите.

#include <stdio.h> 

void printArray(double array[]) 
{ 
    int i; 
    for(i = 0; i<5; i++) 
    { 
     printf("%.2f ", array[i]); 
    } 
} 


int main() 
{ 

    double myArray[5] = {1.0, 2.0, 3.0, 4.0, 5.0}; 

    printArray(myArray); 

    return 0; 
} 
+0

Нет объяснений? Не упоминается, что длина массива должна быть параметром? – John3136

+0

Я добавил, что минуту назад он действительно не хотел объяснений, он просто хотел напечатать двойной массив. –

+0

Его ошибки были довольно маленькими, основываясь на этом, он, вероятно, может понять и сделать это сам, и если не добавить больше функциональности. Компьютерная наука - все о понимании и воплощении себя, я думаю, он знает основы того, что он написал, и может понять свои ошибки и семантику, основанные на этом примере WORKING. –

2

Ошибки

  1. Линия

    printf("%.2f\n",array[i]) 
    

    не заканчивается точкой с запятой ;.

  2. Вы не определяете массив правильно. Для определения массива вам необходимо использовать []. Таким образом, определение должно быть

    double array[] = {1.0, 2.0, 3.0, 4.0, 5.0}; 
    

Предупреждения

  1. Вы можете не предоставили полный код, но вы никогда не называли printarray функции.

  2. Вы объявляете int i два раза.

  3. В массиве всего 5 элементов, поэтому в цикле for, ваш тест должен быть i < 5, а не i <= 5.

  4. Наконец, я предлагаю вам вместо этого использовать прототип функции.

Вот красиво отформатирована новый код

#include <stdio.h> 

void printarray(double[]); 

int main(void) { 
    double array[] = {1.0,2.0,3.0,4.0,5.0}; 
    printarray(array); 

    return 0; 
} 

void printarray(double array[]) { 
    int i; 
    for(i = 0; i < 5; i++) { 
     printf("%.2f\n",array[i]); 
    } 
} 
Смежные вопросы