虽然输出的是10个数,但其实指针并没有移动,根本就没有输出这么多数,只有a[0]接受到了,首地址嘛。所以要再加上一个for循环,控制输出。 #include
int a[10]; int i,*p;
for(i=0;i<10;i++) scanf(\p++);
for(i=0;i<10;i++) 若这个for没有,那么最后的输出就不会都出现。
p=a;
printf(\ \
9-5
输出部分是输出一个数判断一次,取余10时是否为零,是否换行。 还有把30直接定义成字符变量m,以后直接可用m。如下
a指向a数组的首地址,所以p=a+4之后,就指向了a数组中的第五个数,即p=&a[4]. 没有移动不移动,是指向了a+k地址内的值,然后赋值。
这个赋值语句不能少,少了的话成了死循环了。 *(a+i)=x中的*(a+i)相当于a[i]或者是s[i]。上面三种中最后一种很少用,因为a[M]里的M是个确定的数,是多少就是多少,不如a[]好,这个可以根据接收的数量来定,自适应。 按多少行输出来看,又有一种输出方法,
就是条件选择,还有for循环的。

