C语言switch又报错了?

今日讲解的是一个C语言学习中很容易混淆的一个点,就是switch需要的是一个整型表达式。
1、C语言程序练习题说明
来看看这段C语言程序:

图片

#include <stdio.h>
int main() {    char a[10] = {''};    scanf("%s", a);    switch(a)    {        case "1":         printf("1n");        break;    }
    return 0;}

这段C语言程序很简单,定义了一个字符数组,然后输入一个字符串,在switch中判断输入的字符串,如果输入的是字符串”1″,那么C语言程序就输出这个字符串,否则啥也不干,超级简单对不对?

来编译运行一把,如下:

图片

呵呵,这都能报错?这又是个啥意思?
先别往下看,自己先开动脑筋,想想问题出在哪里?
2、C语言程序讲解

C语言中,switch后面要接一个整数类型的表达式,这段C语言程序中接的是个数组名,也就是接的是一个地址,这怎么行。

同理,case后面也不能是个字符串啊,看着是”1″,其实也是字符串”1″的地址,这也不行。

那么要怎么改呢?继续往下看。

3、C语言程序修改

知道原因,就好改了。

这段C语言程序不用字符数组,就用一个普通的整型变量不就行了。改写的C语言程序如下:

#include <stdio.h>
int main() {    int a;    scanf("%d", &a);    switch(a)    {        case 1:         printf("1n");        break;    }
    return 0;}
现在你再运行下这个C语言程序,还有问题吗?

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/82086.html

(0)
guozi's avatarguozi
上一篇 2024年5月31日 下午2:47
下一篇 2024年5月31日 下午2:48

相关推荐

  • 专业网站建设公司电话,网站建设公司赚钱吗

    在当今信息时代,网站已成为企业展示实力、吸引客户的重要渠道。然而,随着网站建设行业的发展,越来越多的公司进入这个行业,选择一家专业的网站建设公司也变得越来越困难。那么为什么要选择专…

    行业资讯 2024年3月28日
    0
  • Java交换map的key和value值

    在Java中,我们都知道直接交换Map的key和value是不被允许的,因为Map的接口设计是基于key-value对的,其中key是唯一的,并且是不可变的(在HashMap等常见…

    行业资讯 2024年6月3日
    0
  • 如何在湖南长沙搭建一个高效的网站?

    湖南长沙作为中国中部地区的重要城市,其网络环境也随着时代的发展而日益完善。对于想要在长沙搭建一个高效网站的网站管理员来说,了解当地网络环境是非常重要的第一步。但是仅仅了解网络环境还…

    行业资讯 2024年4月10日
    0
  • 云服务器推荐知乎

    云服务器,这个在如今的互联网时代已经变得越来越熟悉的名词。它的出现极大地改变了传统服务器的使用方式,为企业和个人带来了更加灵活、高效、安全的服务。但是,什么是云服务器?它又有什么优…

    行业资讯 2024年3月29日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注