#不好意思,没看到你要求C语言,可惜我不会。
运行结果:
$ ./square.sh
100
121
144
225
400
441
484
676
900
sum is 3491
下面是bash脚本square.sh:
#!/bin/bash
sum=0
cacl_char_num()
{
num=$1
cache=`echo $num|fold -w1`
for digit in {0..9}
do
samecharnum=`echo "$cache"|grep -c -o $digit `
if [ "$samecharnum" -gt 1 ]
then
echo "yes"
break
fi
done
}
for i in `echo {1..1000}`#计算 1到 1000
do
VARIABLE=$(echo "sqrt($i)" | bc -l)
VARIABLE=`echo $VARIABLE |sed -r 's/\.0+$//'`
#echo $VARIABLE
if [ "$VARIABLE" -eq "$VARIABLE" >&/dev/null ]then # test if integer
#echo "'$VARIABLE' is indeed an integer"
ddd=`cacl_char_num $i`
#echo $ddd
if [ "x"$ddd = "xyes" ]
then
echo $i
let "sum=$sum + $i"
fi
fi
done
echo
echo 'sum is '$sum
你到底是说LINUX的命令行(SHELL)还是说LINUX下的C语言编程啊LINUX的命令行,通常是以0表示成功
[root@localhost ~]#ls /tmp
0296001329 sess_2b9b30e06876b57bc35f6d6fc995ec5b2b48da21
[root@localhost ~]#echo $?
0
0表示命令执行成功
[root@localhost ~]#ls /abcdefghijkl
ls: /abcdefghijkl: No such file or directory
[root@localhost ~]#echo $?
1
如果是C语言中,则按惯例,非0表示真,0表示假。我是说惯例,具体请自已看函数说明。
其实不管是哪个,都是一个约定而已,不要死死地记住0就是成功非0就是失败什么的,要知道它返回的是什么东西。比如我目前就在用一个脚本,它的功用就是得到服务器(游戏服务器)的在线人数。它是个SHELL。那他返回0时我是不是说它成功?错!什么都不表示,只表示0人在线。
如果是在平时游戏运营中那这个0就表示失败或异常(没有人在线不是异常是什么?)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)