
let和$(())运行是内建命令,使用相同的算法。
expr和bc是外部程序,expr的体积几乎等于bc的1/3,执行一次装入内存所消耗的时间就不一样。
从运算能力来说,自然bc排第一位。
其实还有awk,能更好的执行基本运算、汇总、求平均等更复杂的。而且还可以使用数组、哈希表。
expr运算中,运算符两侧都要有空格的,除此格式错误外其他没有错误!
另外,` `内的命令及shell外部命令(如expr)都会新建子shell去执行,开销大。强烈建议用shell内建命令let做基本运算。
number=`expr $number + 1`
sum=`expr $sum + $number`
可以改为:
let number+=1
let sum+=number
let支持C语法运算,变量前可以不加$取值符号;支持使用+=运算符,a+=b等同于a=a+b,可以让代码更简洁高效。
用let时运算表达式如果有空格,要放入双引号中,如:
let sum="sum + number"
出现这种问题是文件没有编译好就运行先编译文件后运行就不会出现
编译文件两种方法:
①gcc filename.c -o file
这里的filename.c是文件名,file是自己给文件filename.c起的别名
② gcc filename.c
运行文件也有两种对应的方法:
①如果用第①种编译方法,则./file 即可
②如果用第②种编译方法,使用gcc filename.c时会在目录出现一个a.out的文件,则./a.out 即可
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)