915726280 发表于 2020-4-13 17:14:04

小弟有个问题,谢谢大佬

int a;
变量定义算一个C语言语句的话,那么属于哪一种语句呢?

qiuyouzhi 发表于 2020-4-13 17:14:40

就是定义一个变量啊
哪有什么语句不语句的

zltzlt 发表于 2020-4-13 17:15:06

如果非要说算哪一种语句,那就是变量定义语句

915726280 发表于 2020-4-13 17:15:33

网上有答案说不产生机器操作,不是语句。

zltzlt 发表于 2020-4-13 17:21:31

915726280 发表于 2020-4-13 17:15
网上有答案说不产生机器操作,不是语句。

机器操作是什么?

sunrise085 发表于 2020-4-13 17:30:10

你所说的没有机器操作就不算语句,是针对什么来说的?
C转为汇编之后,定义变量的语句的确没有对应的汇编语句。
C转为机器指令后,更是没有对应的指令。
但是在C语言中它就是语句。
这就是C语言的规则。
对于不同的语言,就有不同的规则。
就像是每个国家都有自己的法律,你不能拿着这个国家的法律条文去另一个国家查找是否有对应的法律条文,很有可能是找不到的。

wp231957 发表于 2020-4-13 17:33:53

915726280 发表于 2020-4-13 17:15
网上有答案说不产生机器操作,不是语句。

没毛病,你光定义不使用的话编译器会自动给你删除或过滤掉

915726280 发表于 2020-4-13 20:11:02

qiuyouzhi 发表于 2020-4-13 17:14
就是定义一个变量啊
哪有什么语句不语句的

好的,谢谢您

915726280 发表于 2020-4-13 20:12:35

sunrise085 发表于 2020-4-13 17:30
你所说的没有机器操作就不算语句,是针对什么来说的?
C转为汇编之后,定义变量的语句的确没有对应的汇编 ...

就是说,在C编译时会转变成汇编语言,而int a;不会转成汇编语言

915726280 发表于 2020-4-13 20:13:32

915726280 发表于 2020-4-13 17:15
网上有答案说不产生机器操作,不是语句。

好的,谢谢谢您

sunrise085 发表于 2020-4-13 20:51:11

915726280 发表于 2020-4-13 20:12
就是说,在C编译时会转变成汇编语言,而int a;不会转成汇编语言

不是的。C语言也是被编译成机器码。
只是C语言的底层是有汇编写的,所以很多时候,会拿来与汇编比较
页: [1]
查看完整版本: 小弟有个问题,谢谢大佬