Chinaunix
标题:
函数的返回值是多少?
[打印本页]
作者:
zdfpcuse
时间:
2005-07-01 18:10
标题:
函数的返回值是多少?
若给fun函数的形参s传送字符串:" 6354abc"(开始有两个空格),则函数的返回值是多少?
# include "ctype.h"
long fun(char s[])
{long n;int sign;
for(;isspace(*s);s++);
sign=(*s=='-')?-1:1;
if(*s=='+'||*s=='-')s++;
for(n=0;isdigit(*s);s++)n=10*n+(*s-'0');
return(sign *n);}
作者:
stevens_wu
时间:
2005-07-01 18:48
标题:
函数的返回值是多少?
6354
作者:
deathbravo
时间:
2005-07-01 18:48
标题:
函数的返回值是多少?
# include "ctype.h"
long fun(char s[]) {
long n;int sign;
for(;isspace(*s);s++);
sign=(*s=='-')?-1:1;
if(*s=='+'||*s=='-')
s++;
for(n=0;isdigit(*s);s++)
n=10*n+(*s-'0');
return(sign *n);
}
复制代码
看起来还是不对劲
作者:
jetrix
时间:
2005-07-01 19:21
标题:
函数的返回值是多少?
[quote]
原帖由 "stevens_wu"]6354[/quote 发表:
对了.
作者:
zdfpcuse
时间:
2005-07-01 23:03
标题:
函数的返回值是多少?
我觉得n=10*n+(*s-'0');中的*s-'0' '0'应该是个字符型,转换为ascii值后再运算,你认为呢
作者:
kernelxu
时间:
2005-07-02 17:04
标题:
函数的返回值是多少?
n=10*n+(*s-'0');
复制代码
*s是一个数字字符,'0'是0这个数字字符。
所以*s-'0' 就是算的*s与'0'的ASCII码值之差,也就是*S这个字符所表示的数字值。
作者:
liubingqian
时间:
2005-07-02 22:48
标题:
函数的返回值是多少?
[quote]
原帖由 "deathbravo"]看起来还是不对劲[/quote 发表:
美女看仔细啊,楼主的第一个for循环没有循环体,你多加了一个缩进,就乱了。
作者:
tyzam
时间:
2005-07-04 09:01
标题:
函数的返回值是多少?
for(;isspace(*s);s++);
sign=(*s=='-')?-1:1;
這個應該是程序自動縮進的,
楼主的第一个for循环没有循环体,
誰說沒有的, for(;isspace(*s);s++); 他也可以寫成
for(;isspace(*s);s++){};
這不就是他的循環體了,要注意看些這個for後面的“;”
作者:
liujing6484
时间:
2005-07-05 21:32
标题:
函数的返回值是多少?
for后面的;也是循环体没错啊,但是那就没有什么意义了啊!
作者:
Yarco
时间:
2005-07-06 08:28
提示:
作者被禁止或删除 内容自动屏蔽
作者:
yanshizhuan
时间:
2005-07-06 15:15
标题:
函数的返回值是多少?
for(;isspace(*s);s++);
s能+吗?s是数组的首地址,怎能“+”呢,他总是数组的首地址。
作者:
kernelxu
时间:
2005-07-06 16:15
标题:
函数的返回值是多少?
原帖由 "yanshizhuan" 发表:
for(;isspace(*s);s++);
s能+吗?s是数组的首地址,怎能“+”呢,他总是数组的首地址。
运行一下再说可不可以加!
函数将S作为指针处理。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2