问题标题:
请教函数问题fun函数的功能是:将p所指字符串的所有复制到b中,要求每复制三个之间字符之后掺入一个空格.例如给a输入"ABCDEFGHIJK",则b中的内容为:"ABCDEFGHIJK"voidfun(char*p,char*b){inti,k=0;wh
问题描述:
请教函数问题
fun函数的功能是:将p所指字符串的所有复制到b中,要求每复制三个之间字符之后掺入一个空格.例如给a输入"ABCDEFGHIJK",则b中的内容为:"ABCDEFGHIJK"
voidfun(char*p,char*b)
{
inti,k=0;
while(i
梁晓龙回答:
两者的区别是
b[k]='';k++;等价于b[k++]='‘;这个放的是字符
b[k++]="";这个放的是字符串,所以这个有问题b是指向char类的数组,所以b[i]只能放字符而不是字符串;
行;b[k]='';k++;和b[k++]='‘;的效果是一样的
彭昭回答:
那么这个函数怎样实现把复制到b中的每三个字符之后有一个空格,看了一下,没看懂,请详细说明一下,谢谢
梁晓龙回答:
哦,我看一下~你确定你这个函数没抄错吗?首先花括号{}不对称啊~不知道你那个循环跟哪个循环怎么嵌套的但函数大概的目的是这样的:给fun函数传两个char类型的指针p,b其中p是指向原字符串的,就是你输入的ABCDEFG...而b是一个char数组用来保存改变后的字符串就是ABCDEFG...fun里面有个变量I每当复制一个字符后也就是b[k]=*p;进行i++;每当i=3也就是复制了3个字符后在b数组里插入一个空格也就是b[k]=''//空格是字符所以就是出错的地方到最后整个复制完了之后在b数组的最后边加入一个''也就是b[k]=''使得b构成一个字符串因为字符串都是以''做结尾的~大概就是这样子,不过你的函数肯定抄的有问题
点击显示
其它推荐