早教吧作业答案频道 -->其他-->
给fun函数的形参s传送字符串:“]]6354abcc”(其中]表示空格字符,则函数的返回值是longfun(chars[]){longn;intsign;for(;isspace(*s);s++);sign=(*s=='-')?-1:1;if(*s=='+'||*s=='-')s++;for(n=0;isdigit(*s);s++)n=10*n+(*s-'
题目详情
给fun函数的形参s传送字符串:“]]6354abcc”(其中]表示空格字符,则函数的返回值是
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;
}
答案是6354
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;
}
答案是6354
▼优质解答
答案和解析
首先函数传递一个数组,首地址为S,即']'所在的地址.一个for循环,之后把S移动到非空格,即是数字6之处,然后把一个三元运算符(*s=='-')?-1;1的结果赋值给sign,此时sign结果为1.
if 条件语句执行完之后,s地址任然是6所在处.接下来一个for循环,循环了4次每次的结果为:
n=6
n=63
n=635
n=6354
最后乘以sing=1,
返回6354.
若有纰漏之处,还望指正.
if 条件语句执行完之后,s地址任然是6所在处.接下来一个for循环,循环了4次每次的结果为:
n=6
n=63
n=635
n=6354
最后乘以sing=1,
返回6354.
若有纰漏之处,还望指正.
看了 给fun函数的形参s传送字符...的网友还看了以下:
给fun函数的形参s传送字符串:“]]6354abcc”(其中]表示空格字符,则函数的返回值是lo 2020-07-23 …