关于数组的问题?
#include<stdio.h>main()
{
char s[5];
printf("s=%p\ns[0]=%p",s,&s[0]);/*两个地址一样,说明数组名是数组第一个元素的地址*/
}
==============
#include<stdio.h>
main()
{
char s[5]=“china";
printf("%s",s);/*说明数组名是数组第一个元素的地址,所以直接用数组名就可以*/
}
===========问题来了。
#include<stdio.h>
main()
{
int s[5]={1,2,3,4,5};
printf("%d",s);/*既然数组名是数组第一个元素的地址,那为什么这里不是打印第一个元素,而是报错呢?*/
} /*而是必须用s[0]呢,是不是只有字符数组才可以?*/
================
#include<stdio.h>
main()
{
int s[6];
scanf("%d",s);/*请问这里输入的是不是作为数组的第一个元素*/
printf("%d",s[0]);
}
[此贴子已经被作者于2007-4-4 20:49:43编辑过]