error C2137: empty character constant 在用swtich case语句的时候出现...

发布网友 发布时间:2024-09-29 11:25

我来回答

3个回答

热心网友 时间:2024-09-29 15:42

改动一:

int get(int *ws,int *lc)    //建议你吧传递的内容,直接写在函数声明里

改动二:

   case ' ':               //两个单引号中间加一个空格

完整的程序:

#include"stdio.h"
#include"stdlib.h"

int get(int *ws,int *lc)    //建议你吧传递的内容,直接写在函数声明里
{int c;
*ws=*lc=0;
 while ((c=getchar()!=EOF))
  switch(c)
 {
   case ' ':               //两个单引号中间加一个空格
   case '\t':(*ws)++;break;
   case '\n': return 1;
   default:if(c>='a'&& c<='z') (*lc)++;
 }
return 0;
}
main()
{
 int ws,lc;
 //int *w=ws,*l=lc;
 if(get(&ws,&lc))
 {
   printf("there are %d whitespacse",ws);
   printf("\nand %d lowercase letters\n",lc);
 }
 else printf("unexpected end-of-file\n");
}

热心网友 时间:2024-09-29 15:42

不能case '':。引号里必须有一个字符。如果是想打空字符,应该是case '\0':。

热心网友 时间:2024-09-29 15:37

case '':
里面不能是空的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com