百科问答小站 logo
百科问答小站 font logo



C语言题目,字符型输入如何使用switch? 第1页

  

user avatar   zhang-hao-72 网友的相关建议: 
      
  1. 不超过4字节的话可以强行转成整形再case,也是个通用做法。比较长的字符串只要前4字节不重复,只取前4字节就行。
  2. 先hash, 不过还得手工把每个hash值算出来,再写成宏,不太优雅,要么就在编译阶段用脚本解决,也麻烦。还得注意是否有重复,重复了就换个hash算法。
  3. c++的话,可以把hash函数的返回值用constexpr类型,就可以直接放在case后面了,清爽多了,也不用人肉检查重复了,重复的话编译时会提示。
  4. 如果还需要忽略大小写之类……还是老实用if..else配合strcasecmp吧。



  

相关话题

  救命!昨天晚上刚刚写了个C语言游戏,结果今天打开中文就显示成乱码了。请问是为什么? 
  这个如此诡异的C语言「怪事」是怎么回事? 
  我同学说学 C 语言没用,该如何反驳呢? 
  请问#define PI 3.1416比float pi=3.1416有什么优势呢? 
  在c语言当中,for循环,for(i=0;i<10;++i)与for(i=0;i++<10;)啥区别? 
  请问#define PI 3.1416比float pi=3.1416有什么优势呢? 
  在手机上C语言编译器运行while(system(“pause”))为什么会导致手机重启? 
  大学c语言学习的考题中,故意用相同变量名来命名形参实参,局部变量和全局变量让学生区分,有实际意义吗? 
  C语言题目,字符型输入如何使用switch? 
  在手机上C语言编译器运行while(system(“pause”))为什么会导致手机重启? 

前一个讨论
澳大利亚买核潜艇是核扩散吗?
下一个讨论
最近网上疯传的,类似蜘蛛的生物,究竟是什么东西呢?





© 2024-11-25 - tinynew.org. All Rights Reserved.
© 2024-11-25 - tinynew.org. 保留所有权利