代码
//下标法 编写数组元素的输入与输出 #include <stdio.h>int main(){char a[6];int i;printf("请输入:");//下标法输入数组 for(i=0;i<6;i++){scanf("%c",&a[i]);} printf("\n");//下标法输出数组printf("输出为:");for(i=0;i<6;i++){printf("%c",a[i]);}printf("\n"); }
输出
另外
另外,对于输入和输出语句中,也可以这么写:
//下标法 编写数组元素的输入与输出 #include <stdio.h>int main(){char a[6],i;printf("请输入:");//下标法输入数组 for(i=0;i<6;i++){//scanf("%c",&a[i]);scanf("%c",a+i); //这里 a+i 等价于 &a[i] } printf("\n");//下标法输出数组printf("输出为:");for(i=0;i<6;i++){printf("%4c",*(a+i)); //这里 *(a+i)等价于a[i] }printf("\n"); return 0;}
同样,输出为:
这里对输出格式进行了控制。
注:
数组名a
代表数组的首地址
,即元素a[0]的地址&a[0]
,所以表达式 a+1表示首地址之后下一个元素的地址,即数组中的第2个元素即下标为1的元素a[1]的地址&a[1]。由此可知,表达式 a+i 代表数组中下标为 i
的元素的地址&a[i]。 例如,* a 或者 * (a+0)
可以表示取出首地址a所指的存储单元中的内容,即元素a[0],*(a+i)表示取出首地址元素后第i个元素的内容,即下标为i的元素a[i]。