初学者,真的不懂怎么改,是要运算符重载吗?但是我没设置类啊_(:з」∠)_
错误的就是这个
m={"梅花",a[n]};
连续错了四个(后面一样的错误)
不知道为什么,希望哪位大佬解答一下,告诉一下原因和改正方法,感谢。
最后的bug了,让我编译成功就行,网上也没搜到类似的,是我犯了太蠢的错误了吗,我深刻记住这次错误。
(错误1)结构体不能这么赋值 ,
m={"梅花",a[n]};应该写成下面2句:
strcpy(m.huase,"梅花");//字符串用strcpy拷贝
m.num = a[n];
(错误2)
struct card
{
char huase[5]; //这里改成5,一个汉字占2个字节,2个汉字就是4个字节,还需要给\0留一个位置,否则显示的时候会出错
int num;
};
(错误3)在paimon函数中,数组a没有初始化就使用了,a中的数都是随机数。
huase
改为house
char house[10]
,因为你存储的是中文,一个中文字符UTF-8编码至少占两个字符m = { ... }
,改为m = card{ ... }
pairmon()
函数中数组a没有初始化pairmon()
函数参数m是传值的?你是不是应该传引用?否则对m修改,只是对局部变量修改