请帮忙看下这个指针的问题(菜鸟急问)
#include<iostream.h>#include<stdlib.h>
#include<stdio.h>
void swap(int *x,int*y)
{
int *z;
*z=*x;
*x=*y;
*y=*z;
}
void main()
{
int *x,*y;
cout<<"请输入两个数字"<<endl;
cin>>*x>>*y;
swap(x,y);
cout<<*x<<*y<<endl;
}
搜索更多相关的解决方案:
指针
----------------解决方案--------------------------------------------------------
cin>>*x>>*y; 不要这样用 ,野指针
直接声明 x,y为int型然后swap(&x,&y);
----------------解决方案--------------------------------------------------------
谢谢哦,想问下,什么叫做野指针呢?
----------------解决方案--------------------------------------------------------
#include<stdlib.h>
#include<stdio.h>
void swap(int *x,int *y)
{
int z;
z=*x;
*x=*y;
*y=z;
}
int main()
{
int x,y;
printf("请输入一个数字:");
scanf("%d",&x);
printf("请输入另一个数:");
scanf("%d",&y);
swap(&x,&y);
printf("%d \n %d",x,y);
return 1;
}
----------------解决方案--------------------------------------------------------
野指针就是指那些只被定义而没有被初始化的指针直接被赋予一个值,而这个值谁都不知道会被保存在那个地址中
例如
int *x;
*x=6; //这样就是野指针
下面是正确的
int b;
x=&b;
*x=6;
----------------解决方案--------------------------------------------------------