如何使用指针结合两个数组? 用指针交换两个数组
请问如何用指针交换两个数组
main()
{
int a[3]={1,2,3},b[3]={4,5,6},t,i,*p1=a,*p2=b;
for (i=0;i<3;i++)
{
t=*p1;*p1=*p2;*p2=t;
p1++;p2++;
}
for (i=0;i<3;i++)
printf("%d\t",a[i]);
printf("\n");
for (i=0;i<3;i++)
printf("%d\t",b[i]);
getch();
}
C语言,怎么使用指针实现合并两个有序数组
各种语法错误,这个连编译都不行。
i++是指自加1,后面不能加数字;
最上面的解引用那里估计你括号放错了,*号要在括号外面
数字a和数组b,直接int *i=a;就行,不需要再取地址。
printf中,i是一个整数,不能被解引用。
C语言用指针引用数组元素
(*p)[3]是定义一个指向一维数组的指针,数组元素为三。也就是说p指向的其实是a[0],a[1],a[2]这样的形式。
p=a;其实就是把第0行的首地址赋值给p.
所以答案C中p[1]即是把第1行的首地址给p,在此基础上向后移一位,取出地址中的元素数值。 *(p[1]+1)相当于a[1][1].所以是对的。
B的形式是对的,但是它相当于a[2][1],超出界限所以为错。剩下的两个格式就不对。
C语言 怎么把指针的值 赋给另一个数组
循环赋值, 或者直接strcpy。 因为这里是字符串。
比如
#include<stdio.h>
int main()
{
int i=0;
char a[100];
scanf("%s",a);
fun(&a);
return 0;
}
int fun(int *p)
{
int i,b,c,d;
char j[100];
strcpy(j, p);
//用memcpy也可以。
//memcpy(j, p, sizeof(j));
//我想在这之后 让j【100】接收到上面那个数组的值 并输出我应该怎么写用指针!
return 0;
}