关于C函数输出的问题。
我定义了
void ZIGBEE_set(char* Net_ID_str,char* Channel_str )
{
……
if(Channel_str[0]=='0')
{
Channel_str[0]=Channel_str[1];
Channel_str[1]=0x00;
}
zigbee_NetCh_sel(Channel_str);
}
然后这样子调用:
ZIGBEE_set("FE","0F");
我的本意是,参数是第一个带‘0’的时候,会把F提前到第一位置,"0F"变成"F",然后调用 zigbee_NetCh_sel(Channel_str); 发出去。
但是我发现经过Channel_str[0]=Channel_str[1];
Channel_str[1]=0x00;
后,我在watch 窗口内看,看到Channel_str[0]依然是’0',Channel_str[1]依然是‘F’ 没有任何变化,这是为什呢?
我已经赋值了呀。
我以前都是这么用的,比如我定义:全局变量 IMEI_str[16]={0};
void get_gprs_mode_imei(char *imei)
{
char *Pimei;
int i=0;
Pimei=IMEInumber();
for(i=0;i<15;i++)
{
imei[i]=*Pimei;
Pimei++;
}
}
调用:
get_gprs_mode_imei(IMEI_str);
这样我的IMEI_str内就存放用imei号码了,就是这样调用的呀,上面的为什么不可以?