二级c语言 case '1'跟case 1的区别? \1和\11什么意思?

发布网友 发布时间:2024-09-29 03:28

我来回答

4个回答

热心网友 时间:2024-09-30 09:10

case '1'中的'1'是字符1,其值为十进制49,所以它与case 49是一个意思;而case 1中的1是数字1,就是十进制1了。下面的代码可帮助理解:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    char x;
    scanf("%d",&x);
    switch(x){
        case 1:
            printf("123\n");//输入1,则输出123
            break;
        case '1': 
            printf("abc\n");//输入49,即'1'则输出abc
            break;
    }
    return 0;
}

\在C中有个功能叫“换码引导符”, \1是用八进制表示的ASCII码1,同样\11是用用八进制表示的ASCII码9。实用中要用单引号括起来写成'\1'和'\11',或用双引号括起来使之成为字符串,否则要报错。

热心网友 时间:2024-09-30 09:11

case'1'是错误地表达,case 1才是正确的,这是原则问题,\1和\11是根据ascll码走的,表示八进制。十进制数是1和9。

热心网友 时间:2024-09-30 09:11

'1' 是字符常量,等于 它的 ASCII 值,好像是 十进制 49。字符 1。
case '1': 是 case 49:
case 1: 是 case 1:

\1 和 \11 是 8 进制

热心网友 时间:2024-09-30 09:12

'1'表示1字符,switch()中是char型
1是整型变量,switch()中是int型或BYTE型

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