单引号和双引号不一样吗?
linux程序设计书上抄的。 两个地方不明白。 求助,谢谢
- #include <stdio.h>
- #include <unistd.h>
- int main(int argc, char *argv[]) {
- int opt; //为什么是"int"型,而我换了"char"型也可以
- while((opt=getopt(argc, argv, "if:lr")) != -1) {
- switch(opt) {
- case "i": /*换成双引号,出错
- 提示:“case label does not reduce to an interger constant”*/
- case 'l':
- case 'r': printf("option : %cn", opt);
- break;
- case 'f': printf("filename : %sn", optarg); break;
- case ':': printf("option need a value!n"); break;
- case '?': printf("unknown option!n"); break;
- }
- }
- for(; optind<argc; optind++)
- printf("argument : %sn", argv[optind]);
- exit(0);
- }
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
>>
>>
>>本站以前的帖子中写道:只要是有序数据类型,都可以用switch和case。
>>所谓有序数据类型,包括整型系列,字符型系列,枚举型。
>>
>>
“这个......
""是string.楼主还是从基本的C语言学起吧”
哦,学了一阵python, 把这细节给忘了。
不过大哥也不必这样打击吧。
同样的帖子,放在c/c++ 区里,收获比这个区要多些。
基本的C语法,没有什么奇怪的
这个......
""是string.楼主还是从基本的C语言学起吧