博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转:C语言:error: a label can only be part of a statement and a declaration is not a statement|
阅读量:4312 次
发布时间:2019-06-06

本文共 1023 字,大约阅读时间需要 3 分钟。

转: C语言:error: a label can only be part of a statement and a declaration is not a statement|

原文:https://blog.csdn.net/qq_30242609/article/details/52858115 

 

场景还原

一个简单的switch语句Demo

#include
int main(){ int a=1, b=2, re; char c; scanf("%c", &c); switch(c) { case '+': re = a + b; break; case '$': re = a - b; re++; break; case '#': int other = 3; re = a + b + other; break; default: printf("Illegal input!\n"); break; } printf("%d\n", re);}

 

出错原因
在switch语句里定义了新的变量。在上例中在case '#'语句块中定义了新的变量other。
解决办法
给定义了新变量的case语句块套上大括号,这个错误就没了。
改后代码

#include
int main(){ int a=1, b=2, re; char c; scanf("%c", &c); switch(c) { case '+': re = a + b; break; case '$': re = a - b; re++; break; case '#': { int other = 3; re = a + b + other; break; } default: printf("Illegal input!\n"); break; } printf("%d\n", re);}

 

转载于:https://www.cnblogs.com/igfirstblog/p/9892088.html

你可能感兴趣的文章
Jenkins的初级应用(1)-Publish Over SSH
查看>>
利用正则表达式群发定制邮件
查看>>
【原】RDD专题
查看>>
第三周——构建一个简单的Linux系统MenuOS
查看>>
Docker 的两类存储资源 - 每天5分钟玩转 Docker 容器技术(38)
查看>>
Codeforces 257D
查看>>
常用的20个强大的 Sublime Text 插件
查看>>
ajaxfileupload.js在IE中的支持问题
查看>>
tensorflow学习之(十)使用卷积神经网络(CNN)分类手写数字0-9
查看>>
当document.write里含有script标签时
查看>>
工作中常见问题
查看>>
JAVA 从一个List里删除包含另一个List的数据
查看>>
外国的月亮比较圆吗?外籍团队工作有感
查看>>
CentOS 关闭烦人的屏保
查看>>
分布式系统事务一致性解决方案
查看>>
ShuffleNet总结
查看>>
前后台验证字符串长度
查看>>
《算法导论 - 思考题》7-1 Hoare划分的正确性
查看>>
IOS 简单的动画自定义方法(旋转、移动、闪烁等)
查看>>
图像处理笔记(十二)
查看>>