首页 > 解决方案 > 为什么 switch 语句中的除法符号 ÷ 给出多字符字符常量警告?据我所知,这是一个角色

问题描述

#include <stdio.h>

//Compiler version gcc  6.3.0
int main()
{
  int alpha,beta;
  char syb;
  printf("Enter two value followed by operend\n");
  scanf("%d %c %d",&alpha,&syb,&beta);
  
  switch(syb){
    case '+' : 
      printf("%d",alpha+beta);
      break;
    case '-' :
      printf("%d",alpha-beta);
      break;
    case '*' :
      printf("%d",alpha*beta);
      break;
    case '÷' :
      printf("Unable to reach this case");
      break;         
  }
  return 0;
}

main.c:22:10: 警告: 多字符字符常量 [->Wmultichar] case '÷' : ^~~~ main.c:22:5: 警告: case label value 超过 case '÷ 类型的最大值' : ^~~~

标签: ccharacter-encodingcharnon-ascii-characters

解决方案


推荐阅读