下列给定程序中,函数proc()的功能是:将字符串str中的所有字符复制到字符串b中,要求在每复制3个字符之后插入1个空格。例如,在调用proc()函数之前给字符串str输入abcdefghijk,调用函数之后,字符串b中的内容则为abc def ghijk。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:

题目

下列给定程序中,函数proc()的功能是:将字符串str中的所有字符复制到字符串b中,要求在每复制3个字符之后插入1个空格。例如,在调用proc()函数之前给字符

串str输入abcdefghijk,调用函数之后,字符串b中的内容则为abc def ghijk。

请修改程序中的错误,使它能得出正确的结果。

注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

试题程序:


相似考题
更多“下列给定程序中,函数proc()的功能是:将字符串str中的所有字符复制到字符串b中,要求在每复制3个字 ”相关问题
  • 第1题:

    下列给定程序中函数fun的功能是:将P所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。

    例如,若给a输入字符串:ABCDEFGKHHK,调用函数后,字符数组b中的内容为:ABC DEF GHI JK。请改正程序中的错误,使它能得出正确的结果。

    注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构。


    正确答案:
    (1)b[k]=+p;(2)b[k]=“;k++;【考点分析】本题考查:指针类型变量作为函数的参数,函数的参数不仅可以是整型、实型、字符型等数据类型,还可以是指针类型。它的作用是将一个变量的址传送到另一个函数中。【解题思路】(1)JllN中p是指针型变量作函数参数,因此给b[k]赋值时出现错误0(2)题目要求赋值3个字符后加一个空格,所以应该是先给b[k]赋值空格,然后变量k再加1。【解题宝典】C语言中为了表示指针变量和它所指向的变量之间的关系,在程序中用“*’’符号表示“指向”,例如,pointer代表指针变量,而*pointer是pointer所指向的变量。

  • 第2题:

    函数调用strcat(strcpy(str1,str2),str3)的功能是( )。

    A.将字符串str1复制到字符串str2中后再连接到字符串str3之后

    B.将字符串str1连接到字符串str2之后再复制到字符串str3之后

    C.将字符串str2复制到字符串str1之后再将字符串str3连接到字符串str1之后

    D.将字符串str2连接到字符串str1之后再将字符串strl复制到字符串str3中


    正确答案:C
    strcat(s1,s2)函数的功能是把s2字符串连接到s1字符串末尾,strcpy(s1,s2)是把s2字符串复制到s1字符串,要保证sl的容量。

  • 第3题:

    函数调用“strcat(strcpy(strl,str2),str3)”的功能是( )

    A.将字符串strl复制到字符串str2中后再连接到字符串str3之后

    B.将字符串strl连接到字符串str2中后再复制到字符率str3之后

    C.将字符串str2复制到字符串strl中后再将字符串str3连接到字符串strl之后

    D.将字符串str2连接到字符率strl之后再将字符串strl复制到字符串str3中


    正确答案:C
    函数调用strcat(s1,s2)是将s2字符串复制连接到s1字符串之后,使s1字符串变得更长。函数调用strcpy(s1,s2)是将s2字符串复制到s1,使s1字符串的内容与s2字符串的内容相同。函数调用strcat(strcpy(strl,str2),str3)是先执行strcpy(strl,str2),然后再执行strcat(strl,str3),所以其功能是将字符串str2复制到字符串strl中,然后再将字符串str3复制连接到字符串strl之后。正确的选择是C。

  • 第4题:

    下列给定程序中,函数fun()的功能是:将P所指字符串中的所有字符复制到b中,要求在每复制3个字符之后插入1个空格。

    例如,若给a输入字符串:“ABCDEFGHIJK”,调用函数后,字符数组b中的内容为:“ABC DEF GHI JK”。

    请改正程序中的错误,使它能得出正确结果。

    注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

    试题程序:


    正确答案:

    (1)错误:b[k]=p;
    正确:b[k]=*p;
    (2)错误:b[k]=ˊ\0ˊ;
    正确:b[k]=ˊˊ;k++
    【解析】此题,首先要知道函数的参数类型可以是整型、实型、字符型和指针型。此处正是指针类型变量作为函数的参数,因此应该是“b[k]=*p”,而不是“b[k]=p”;题目要求在3个字符后加1个空格,通过条件表达式“i<=3&&*p”,①找到不需移动的字符(从第4个位置开始。每隔3个字符)并将其存入数组b中;②此时下标落到了需要移动的字符的位置,在数组b中此位置插入空格,具体语句为:“b[k]=ˊˊ;k++”,继续执行①直到处理到字符串p的最后一个字符。

  • 第5题:

    函数调用“streat(strcpy(str1,str2),str3)”的功能是 ______。

    A.将字符串str1复制到字符串str2中后再连接到字符串str3之后

    B.将字符串str1连接到字符串str2中后再复制到字符串str3之后

    C.将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后

    D.将字符串str2连接到字符串str1之后再将字符串str1复制到字符串str3中


    正确答案:C