c语言枚举问题 用枚举做

2025-06-22 15:06:59
推荐回答(3个)
回答1:

char c,d;
scanf("%s%s",&c,&d); // c d 你定义的是字符变量,
a=(enum coin)c; // 这个强制类型转换错误。
b==(enum coin)d;

这四行重新改。

回答2:

char c,d;
scanf("%s%s",&c,&d);
这两句你可以这样改:
char c[100],d[100];
scanf("%s",c);
scanf("%s",d);
下面这两行比较麻烦,可以这样改
if(strcmp(c,"zero") == 0)
{
a = zero;
}
else if(strcmp(c,"one") == 0)
{
a = one;
}
........
对b的处理也一样

回答3:

建议比较过程可以使用map。。。。 而且acm的提交应该是不能printf("。。。。")这些东西。 mapmp; 直接对应的字符串就有对应的值了 ,然后输出按照题意处理一下就可以了.