Chinaunix
标题:
awk中a++与++a的区别
[打印本页]
作者:
jakyandy
时间:
2016-01-24 14:38
标题:
awk中a++与++a的区别
awk 'BEGIN {print a++,++a }'
0 2
复制代码
怎么也想不明白a++怎么会是0呢?在论坛里也看到相应的解释,比如说“后加”是先读取变量的值再加1,a的初始值是0,先读取0然后再加1,那a++不应该是1吗?还请大神指点,多谢!
作者:
baby_神
时间:
2016-01-24 17:50
本帖最后由 baby_神 于 2016-01-24 17:52 编辑
a++是先打印a的值然后再加一,
++a是先加一然后再打印a的值。
[root@centos ~]# awk 'BEGIN{print a++,a,++a}'
0 1 2
复制代码
a++,++a,刚开始a的值是0,就打印0,再加一,所以打印出来的a++就是0;然后开始++a,此时a的值为1,++a先加一再打印,即a的值为2.
作者:
Shell_HAT
时间:
2016-01-25 08:49
跟其它语言(比如C语言)里面的用法一样,没有什么特别的。
作者:
reyleon
时间:
2016-01-25 09:48
a++ 与 ++a , 根据上下文, 都是自增1
不同的是, a++返回的是a
自增前
的值, ++a 返回的是a
自增后
的值
作者:
Tianny_Xie
时间:
2016-01-25 10:35
注意开始变量a的值为0 a++返回的是a自增前的值, ++a 返回的是a自增后的值
作者:
我是一隻羊
时间:
2016-01-26 14:31
a++是先返回a的值再自增,++a是先自增再返回值.
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2