|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
main()
{
int *p,*q,a[5],b[5],i;
p=&a[0];
q=b;
printf("please input array a:\n");
for(i=0;i<5;i++)
scanf("%d",p++);
printf("please input array b:\n");
for(i=0;i<5;i++)
scanf("%d",q++);
printf("array a is:\n");
for(i=0;i<5;i++)
printf("%5d",*p++);
printf("\n");
printf("array b is:\n");
for(i=0;i<5;i++)
printf("%5d",*q++);
printf("\n");
}
因为前两个for循环后,指针p和q都改变了。你没有重新让这两个指针指向数组a和数组b,所以输出两个矩阵的时候就出错了。
- #include<stdio.h>
- main()
- {
- int *p,*q,a[5],b[5],i;
- p=&a[0];
- q=b;
- printf("please input array a:\n");
- for(i=0;i<5;i++)
- scanf("%d",p++);
- printf("please input array b:\n");
- for(i=0;i<5;i++)
- scanf("%d",q++);
-
- //下面这两个是重新给指针p和q赋值为数组a和数组b
- p=&a[0];
- q=b;
-
- printf("array a is:\n");
- for(i=0;i<5;i++)
- printf("%5d",*p++);
- printf("\n");
- printf("array b is:\n");
- for(i=0;i<5;i++)
- printf("%5d",*q++);
- printf("\n");
- }
复制代码
|
|