在打印数组内容时,作为C语言初学者经常会搞混,对各类型数组内容理解不清楚,接下来我将整理一下在我初学c语言数组时,将数组内容打印的方法。
一,数组内容为整形,浮点型时。遍历数组,逐个打印。但注意浮点型的打印格为‘%f’。
#include <stdio.h>
int main()
{
int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int size = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
二,打印字符数组(字符串),字符串数组可以直接打印。
#include <stdio.h>
int main()
{
char str[] = "Hello, World!";
printf("%s\n", str);
return 0;
}
三,打印结构体数组。如果你有一个结构体数组,可以使用 for
循环逐个打印结构体成员。
#include <stdio.h>
typedef struct
{
int id;
char name[20];
} Person;
int main()
{
Person people[] = {
{1, "Alice"},
{2, "Bob"},
{3, "Charlie"}
};
int size = sizeof(people) / sizeof(people[0]);
for (int i = 0; i < size; i++) {
printf("ID: %d, Name: %s\n", people[i].id, people[i].name);
}
return 0;
}
四,使用指针打印数组。如果你有一个指向数组的指针,可以使用指针运算来打印数组元素。
#include <stdio.h>
int main()
{
int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int size = sizeof(arr) / sizeof(arr[0]);
int* ptr = arr;
for (int i = 0; i < size; i++)
{
printf("%d ", *(ptr + i));
}
printf("\n");
return 0;
}
6. 使用递归打印数组。(不推荐)如果你喜欢使用递归,可以使用递归函数来打印数组。
#include <stdio.h>
void printArray(int arr[], int size)
{
if (size == 0)
{
return;
}
printf("%d ", arr[0]);
printArray(arr + 1, size - 1);
}
int main()
{
int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int size = sizeof(arr) / sizeof(arr[0]);
printArray(arr, size);
printf("\n");
return 0;
}