晕,得不了C的值。

sh/bash/dash/ksh/zsh等Shell脚本
回复
yuhongchun
帖子: 587
注册时间: 2008-05-25 21:11

晕,得不了C的值。

#1

帖子 yuhongchun » 2008-08-26 18:48

学习中遇到到个问题:

a=1
b=2
c=$a+$b
declare -i c
echo $c

本来想得到3的,却不料总得到1+2,晕了。。。唉,求正解。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#2

帖子 BigSnake.NET » 2008-08-26 18:57

$((a+b))
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
alinmn
帖子: 185
注册时间: 2006-05-19 21:42
来自: NIT

#3

帖子 alinmn » 2008-08-26 18:57

let c=$a+$b
yuhongchun
帖子: 587
注册时间: 2008-05-25 21:11

#4

帖子 yuhongchun » 2008-08-26 18:59

能用declare -i ; echo $c实现吗?
yuhongchun
帖子: 587
注册时间: 2008-05-25 21:11

#5

帖子 yuhongchun » 2008-08-26 18:59

我也用别的方法实现了,但想用declare的方式实现。。。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#6

帖子 BigSnake.NET » 2008-08-26 19:01

先 declear -i c
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
yuhongchun
帖子: 587
注册时间: 2008-05-25 21:11

#7

帖子 yuhongchun » 2008-08-26 19:03

恩,我试试先,thank you very much.
yuhongchun
帖子: 587
注册时间: 2008-05-25 21:11

#8

帖子 yuhongchun » 2008-08-26 19:06

恩,确实,要先定义declare -i c,为什么呢???
aBiNg
帖子: 1331
注册时间: 2006-07-09 12:22
来自: 南京

#9

帖子 aBiNg » 2008-08-27 10:24

代码: 全选

declare

Declare variables and give them attributes.

      -i   The variable is to be treated as an integer; 
           arithmetic evaluation is performed when the 
           variable is assigned a value.
回复