问题描述
- C/C++ 重复调用一个函数后,传入的值为空
-
clac_card()
{
b1[]="123";
b2[]="456";
........
rc=a(b1, c1);
rc=a(b2, c2);
........
}int a(char *b,char *c)
{
printf("%s",b);
return 0;
}打印时:b1 有值,b2为空;
有人知道为什么吗?
解决方案
我把你的代码完善一下能运行,但没发现错误呀!
#include
void clac_card()
{
char b1[]="123";
char b2[]="456";
char c1[]="333";
char c2[]="444";
int ra=a(b1, c1);
int rb=a(b2, c2);
}
int a(char *b,char *c)
{
printf("%s",b);
return 0;
}
int main()
{
clac_card (); //结果显示为:123456;没问题呀
return 0;
}
解决方案二:
你粘的代码段太少,信息量不是很足啊, 这样的代码完全无法通过编译
①clac_card()函数中只有b1,b2的定义,没有c1,c2的定义
②a函数中只打印了参数b的值
解决方案三:
我把你的代码完善一下能运行,但没发现错误呀!
#include
void clac_card()
{
char b1[]="123";
char b2[]="456";
char c1[]="333";
char c2[]="444";
int ra=a(b1, c1);
int rb=a(b2, c2);
}
int a(char *b,char *c)
{
printf("%s",b);
return 0;
}
int main()
{
clac_card (); //结果显示为:123456;没问题呀
return 0;
}