事实证明Linux永远是NO.1

嗨,我正在写一个简单的程序,我要让这个程序打印出一个整数。

#include <stdio.h>  
int main() {   
 int linux = 701;   
 printf("%d", linux);   
 return 0;   
}  

够简单吧。真的吗?

我把它存成了 code.c

现在我编译并运行它:

$ gcc code.c && ./a.out  

糟糕!,编译失败,出现了下面的错误信息:

code.c: In function ‘main’:   
code.c:4:6: error: expected identifier or ‘(’ before numeric constant    
int linux = 701;   
     ^  

这是一个在线编译这段代码的链接:http://ideone.com/kQCmVL

困惑 !!

在谷歌上搜索这个错误——得到的信息是这种错误需要对代码进行预处理。

于是,我在编译时带上了-E 参数,它能让编译在预处理后停止:

$ gcc -E code.c  

预处理过的 main()函数代码显示如下:

int main() {   
 int 1 = 701;   
 printf("%d\n", 1);   
 return 0;   
}  

我晕!C 语言的预处理编辑器竟然将变量 Linux 换成了整数 1。当编译器遇到了 int 1 = 701;语句时,抛出了错误。

现在,我不对变量 Linux 赋任何值:

#include <stdio.h>  
int main() {   
 printf("%d\n", linux);   
 return 0;   
}  

编译并运行:

$ gcc code.c && ./a.out  

在线编译的链接地址:http://ideone.com/kyrNDw

编译成功并且输出:

1  

事实证明,Linux 总是 Number 1。

[英文原文:C language and the linux macro - proof that linux is always Number 1 ]


 博主:我刚刚特意在 redhat 系统中试了下,还真是这样,哈哈,这是 linux 系统默认赋值么?看来 linux 确实是开发者引以为傲的系统呢!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

通过使用Apache Lucene和Tika了解信息检索 - 第1部分

在本教程中,将通过它们的核心概念(例如语法解析,MIME检测,内容分析法,索引,scoring方法,boosting方法)来解释Apache Lucene和Ap...

17720
来自专栏大史住在大前端

大前端的自动化工厂(3)—— babel

babel是ES6+语法的编译器,官方网址:www.babeljs.io,用于将旧版本浏览器无法识别的语法和特性转换成为ES5语法,使代码能够适用更多环境。

22530
来自专栏北京马哥教育

Python自动化运维之高级函数

一、协程 1.1协程的概念 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。(其实并没有说明白~) 那么这...

31260
来自专栏CRPER折腾记

Vue折腾记 - (2)写一个不大靠谱的面包屑组件

我把页面标题和面包屑封装到一起..就不用涉及到组件的通讯了, 不然又要去监听路由或者依赖状态去获取

17420
来自专栏求索之路

从零开始仿写一个抖音App——Apt代码生成技术、gradle插件开发与protocol协议

本文首发于简书——何时夕,搬运转载请注明出处,否则将追究版权责任。交流qq群:859640274

24240
来自专栏技术专栏

慕课网Flask构建可扩展的RESTful API-1. 起步与红图

1.蓝图的作用并不是用来拆分视图函数的,而是用来拆分模块的 2.使用蓝图,统一个业务模型的试图函数的前缀都一样,代码重复啰嗦

44420
来自专栏ytkah

dedecms自增标签[field:global.autoindex/]的运用

  用bootstrap建站时用到幻灯片切换模块,里面有个active(下面代码中的data-slide-to="0"),其余的按顺序递增(1,2),如果用de...

36840
来自专栏专业duilib使用+业余界面开发

mysql5.7 安装,服务启动失败无data目录处理

25530
来自专栏小狼的世界

使用正则匹配并显示匹配的内容

最近在解析HTML文件,遇到这样的一个场景。我需要将HTML文件中data-url="xxx"中的xxx查找并显示出来。

12630
来自专栏青玉伏案

类比Spring框架来实现OC中的依赖注入

如果你之前使用过JavaEE开发中的Spring框架的话,那么你一定对依赖注入并不陌生。依赖注入(DI: Dependency Injection)是控制反转(...

24090

扫码关注云+社区

领取腾讯云代金券