C语言如何用printf打印数组问题

c语言中能不能直接用printf输出数组?如printf("%d",a[5]);
main()
{ int a[5]={1,2,3,8,9};
printf("%d",a[5]);
getch();
}
这个程序错在哪里,如何改正直接输出1,2,3,8,9

最好解析一下

#include <stdio.h> //增加头文件printf()用到

int main()

{  

int a[5]={1,2,3,8,9}; 

//printf("%d",a[5]);  //a[5]表示数组a的第六个元素,越界了 

//整型数组,不能一下子简单输出出来,必须用循环

int i;

for( i=0;i<5;i++ )

printf("%d " , a[i] );

printf("\n");

getch();

return 0;

}


扩展资料

包含需要输出的数据,可以是常量(字符常量、数字常量、字符串常量),变量,以及运算式。此处的数据应当与前面的format中的格式控制符一一对应(如果不对应会产生错误)。 例如:

int a=1;

float b=1.0;

char str[12]="Hello World";

printf("This is an example of printf:\n");

printf("a is %d,b is %f,and a+b=%f",a,b,a+b);

printf("I want to say,%s",str);

参考资料:百度百科 - printf

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-27
#include <stdio.h> //增加头文件printf()用到
int main()
{  
int a[5]={1,2,3,8,9}; 
//printf("%d",a[5]);  //a[5]表示数组a的第六个元素,越界了 
//整型数组,不能一下子简单输出出来,必须用循环
int i;
for( i=0;i<5;i++ )
printf("%d " , a[i] );
printf("\n");
getch();
return 0;
}

追问

编译失败有一个错误

追答

列出错误信息来,你用的是什么编译器?

追问

依然有错看来wintc是傻瓜编译器,DEV-C++ 5也不行,最后用vc6.0还是错误,只有删除getch();否则还会出错,只能再加一个头文件

追答

wintc中调用getch()函数时,要加头文件#include getch()不是标准C函数,
getchar()是标准c函数,只要加上#include 就可以了,TC VC DEVC++都可以用。

第2个回答  2019-06-25

跟编译器有关系

然后我尝试加了头文件#include<conio.h>还是报错

然后就把getch改为_getch 我的问题就这样 然后我这样就解决了

第3个回答  2014-08-27
要用循环 一个个打出来 从a[0]打到a[4]

还有 定义a[5]表示5个元素,但是是从0开始数的 ,所以最多只能访问到a[4]
main()
{ int a[5]={1,2,3,8,9};
for(int i = 0; i<5 i++)
printf("%d ",a[i]);
getch();
}
第4个回答  2014-08-27
printf("%d",a[5]); 这句话里面的a[5]是指数组a里面的第六个元素,但是数组长度只有5,所以错误。用for循环输出吧