niusouti.com

若给fun函数的形参s传送字符串:"]]6354abcc" (其中]表示空格字符),则函数的返回值是【19】。#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;}

题目

若给fun函数的形参s传送字符串:"]]6354abcc" (其中]表示空格字符),则函数的返回值是【19】。

#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;

}


相似考题
更多“若给fun函数的形参s传送字符串:"]]6354abcc"(其中]表示空格字符),则函数的返回值是【19】 ”相关问题
  • 第1题:

    若给fun函数的形参s传送字符串:"abc-6354abc",则函数的返回值是( )。(字符串中包括空格)

    long fun(char S[])

    {long n;int sign;

    for(;isspace(*s)||islower(*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
    -6354 解析:本题的考查点是函数的返回值。这个函数的目的是提取出由函数的形参传送来的字符串中的数字字符,并通过相应字符位置计算出它们数值形式的幂,最后返回字符串中的数字字符的数值形式,所以函数的返回值应当是“-6354”。

  • 第2题:

    str是全部由小写字母字符和空格字符组成的字符串,由 num传入字符串的长度。请补充函数fun(),该函数的功能是:统计字符串str中的单词个数,结果由变量num传回。每个单词之间都由空格隔开,并且字符串str开始不存在空格。

    例如:str=“how do you do”,结果为:num=4。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    include <stdio.h>

    define N 80

    void fun(char *s,int *num)

    {

    int i,n=0;

    for(i=0;【 】;i++)

    {

    if(s[i]>='a',&&s[i]<='z',&&(s[i+1)==’’||s[i+1]=='\0'))

    【 】;

    }

    【 】;

    }

    main()

    {

    char str[N];

    int num=0;

    printf("Enter a string:\n");

    gets(str);

    while(str[num])

    num++;

    fun(str,&num);

    printf("The number of word is:

    %d\n\n",num);


    正确答案:i*num n++ *num=n
    i*num n++ *num=n 解析:第一空:*num传入字符串的长度,所以for循环中变量i的变化范围是从0到*num-1。第二空:如果当前判断的字符是小写字母,并且它的下一个字符是空格或者是字符串结束标记符,则表示当前字符是一个单词的最后一个字母,统计单词数的变量n要加上1。第三空:题目要求结果由变量num传回,所以要将n的值赋给指针num所指的单元。

  • 第3题:

    若给fun函数的形参S传送字符串:”abe.6354abc”,则函数的返回值是_________。(字符串中包括空格)


    正确答案:

  • 第4题:

    以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如,str所指字符串为Hello!,c中的字符为e,则函数返回字符串ello!的首地址。若str所指字符串为空或不包含c中的字符,则函数返回NULL,请填空。char *fun(char *str,char c){ int n=0; char *p=str; if(p!=NULL) while(p[n]!=c&&p[n]!=’\0’) n++; if(p[n]==’\0’) return NULL; return();}


    正确答案:p+n
    在本题中,函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址。
    在本题的程序中,fun函数带有两个形参,其中一个是指针str,它指向字符串的首地址,另一个是字符变量c。程序首先定义了一个整型变量n,从程序中可知,它是字符串str中参数c相对于首地址的偏移量,然后定义了一个指针变量p,指向字符串str的首地址,然后执行条件语句,如果字符串不为空,则执行循环语句,循环结束的条件是要么字符串结束,要么找到形参c中对应的字符。根据循环结束的条件我们可以判断,其非死循环,循环结束后,从程序中可以看出,判断循环结束的原因是否因为字符串结束而结束的,如果是,说明没找到形参c中对应的字符,返回NULL。
    如果不是,则说明是因为找到了形参c中对应的字符而结束循环的。根据题目要求,需要返回以形参c中字符开头的后续字符串的首地址,而这时以形参c中字符开头的后续字符串的首地址为p+n。

  • 第5题:

    给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。

    例如,形参s所指的字符串为:This is a C languageprogram.,函数的返回值为6。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

    注意:源程序存放在考生文件夹下的BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:(1)n++ (2)0 (3)s++
    (1)n++ (2)0 (3)s++ 解析:本题中函数fun的功能是计算出形参s所指字符串中包含的单词个数,作为函数值返回。单词之间是以空格隔开的,因此在字符串里面搜索空格,找到一个空格则单词数量加1,如此搜索完整个字符串便可得到单词数量。