C:打印一个数组

C:打印一个数组,c,C,我昨天开始学习C语言,我唯一知道的另一种语言是Python 我在使用数组时遇到了一些问题,因为它们与Python列表非常不同 我试图打印一个数组,不是它的一个元素,而是数组本身 #include <stdio.h> int array[3] = {1, 2, 3} main(){ printf("%i, %i", array[0], array); } 但是它返回一个奇怪的数字,不像Python那样是数组。这是数组的内存地址(因为) 要正确打印指针,您应该使用。从打印数

我昨天开始学习C语言,我唯一知道的另一种语言是Python

我在使用数组时遇到了一些问题,因为它们与Python列表非常不同

我试图打印一个数组,不是它的一个元素,而是数组本身

#include <stdio.h>

int array[3] = {1, 2, 3}

main(){
    printf("%i, %i", array[0], array);
}

但是它返回一个奇怪的数字,不像Python那样是数组。

这是数组的内存地址(因为)

要正确打印指针,您应该使用。

从打印
数组中获得的“wierd”值实际上是数组第一个元素的内存地址

要打印数组,需要使用for循环:

for (int i = 0; i < array_size; i++)
    printf("%d\n", array[i]);
for(int i=0;i
我建议你买一本关于C语言的好教材,并正确掌握基础知识。首先,在用C编写代码时要忘记Python。作为旁白,它应该是
int main()
,而不仅仅是
main()
printf不会打印复杂的对象,只打印数字和字符串。对于任何其他内容,您都必须编写一个函数来完成所有步骤(获取数字和字符串)。如果你想让内嵌的行为更接近Python,那么也许你应该尝试C++。数组在C语言中是二等公民。它们是存在的,但它们与指针密切相关。在C中,如果不编写循环,就无法对整个数组执行许多操作(如果小心的话,唯一可以做的就是初始化整个数组)。你不能做像
a[0]=b这样的作业在C中的函数之外。更准确地说,与
printf
相同。我更喜欢
printf(“%d%C”,数组[I],(I
for (int i = 0; i < array_size; i++)
    printf("%d\n", array[i]);