求解···
怎么实现把函数shuru的xy值改变呢#include <stdio.h>
void shuru(int x,int y);
void main()
{
int a={{1,2,3,4},{5,6,7,8,},{9,10,11,12}};
int x,y;
x=y=0;
shuru(x,y);
printf("数值为:%d",x);
}
void shuru(int x,int y)
{
int i,xy={0};
for(i=0;i<2;)
{
printf("i=");
scanf("%d",&xy);
if(xy>2)
{
i=0;
printf("输入错误未知位置%d\n",xy);
}else
{
printf("j=");
scanf("%d",&xy);
if(xy>3)
{
i=0;
printf("输入错误未知位置%d,%d\n",xy,xy);
}
else
{
x=xy;
y=xy;
i=4;
}
}
}
}
void shuru(int x,int y);
这个函数的参数是值传递,就是传递进去的仅仅是X,Y的副本。在函数内部怎样都不可能改变(这里指在C语言标准内的常规手段)x,y的值(只可能改变x,y副本的值 ) 仰望天上的光 发表于 2014-11-23 14:36
void shuru(int x,int y);
这个函数的参数是值传递,就是传递进去的仅仅是X,Y的副本。在函数内部怎样都不 ...
难道xy不能作为一个存储值的变量吗非得全局 岁月 发表于 2014-11-23 14:50
难道xy不能作为一个存储值的变量吗非得全局
作为全局是一种方式,另一种更好的方式是函数原型由void shuru(int x,int y);
改为void shuru(int* px,int* py);即传递x和y的指针进函数,函数内部就有可能修改x和y的值 仰望天上的光 发表于 2014-11-23 15:33
作为全局是一种方式,另一种更好的方式是函数原型由void shuru(int x,int y);
改为void shuru(int* px,i ...
恩好的谢谢
页:
[1]