永发信息网

C中 传递 数组 ,参数不能传递进去。

答案:2  悬赏:20  手机版
解决时间 2021-01-25 20:57
  • 提问者网友:疯子也有疯子的情调
  • 2021-01-25 17:16
void upReport(int Rnum)
{
uint8 newreport[9];
DisplayHistoryDate(2,newreport );
}
void DisplayHistoryDate (uint8 line, uint8 *shuzu )
{
uint8 n;

const char *pText;
char pLcdLineBuffer[16];
//GetStuctData(shuzu);

pLcdLineBuffer[0] = ' ';

pLcdLineBuffer[1] = '2';
pLcdLineBuffer[2] = '0';

pLcdLineBuffer[3] = getTimeBit(shuzu[6],2);
pLcdLineBuffer[4] = getTimeBit(shuzu[6],1);//getTimeBit(CLOCK_TIME.year,1) ;
pLcdLineBuffer[5] = 'q';
pLcdLineBuffer[6] = 'r'; //年
pLcdLineBuffer[7] = getTimeBit(shuzu[5],2);
pLcdLineBuffer[8] = getTimeBit(shuzu[5],1);
pLcdLineBuffer[9] = 's';
pLcdLineBuffer[10] = 't'; //月
pLcdLineBuffer[11] = getTimeBit(shuzu[4],2);
pLcdLineBuffer[12] = getTimeBit(shuzu[4],1);
pLcdLineBuffer[13] = 'u';
pLcdLineBuffer[14] = 'v'; //日
pLcdLineBuffer[15] = ' ';

pText=pLcdLineBuffer;
for (n=0; n<16; n++)
{
HalLcd_HW_WriteChar(line, n, (*(pText++)));
}

}

newreport 数组值不能传递给DisplayHistoryDate中的数组请教为什么
最佳答案
  • 五星知识达人网友:十鸦
  • 2021-01-25 18:18
把这个函数
void DisplayHistoryDate (uint8 line, uint8 *shuzu ) { }
写到 void upReport(int Rnum){} 前面。
或 前面加 函数原型声明。

至于调用,
写成 DisplayHistoryDate(2, &newreport[0] ); 就一定可以了。
全部回答
  • 1楼网友:轻雾山林
  • 2021-01-25 18:31
‘值传递’属于单向传递,a[i]与a[n-1-i]的值在调用函数执行结束后并没发生改变,改成‘引用传递’就可以实现交换了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯