输出时为什么会多一个$

#include<stdio.h>

#include<string.h> 

int main()

{int n ;

int Duplicate(char scr[],char dest[],int n);

 char scr[80],dest[80];

 printf("Input a string:");

 gets(scr);

 printf("Input a integer:");

 scanf("%d",&n);

  Duplicate(scr,dest,n);

 if(Duplicate(scr,dest,n)!=0)

 printf("Output is:%s,%d characters.",dest,Duplicate(scr,dest,n));

 return 0;

}

int Duplicate(char scr[],char dest[],int n)

{int i,j;

 for(i=0,j=n-1;*(scr+j)!='';i++,j++)

 *(dest+i)=*(scr+j);

 return i;

}为什么year后面多了一个$


2个回答

你程序有一个BUG,只显示一个$已是运气(楼上的运气更好)

我后面显示了乱码

你程序的目标串少结尾了,在最后的

return i;

前加

    *(dest+i)='\0';  

就OK了

发布于 2018-12-28 20:42
查看更多

你的程序可以编译通过,也可以正确运行,并没有出现$。


发布于 2018-12-28 20:41
查看更多
外卖券领取

相关问题

支持语音或者文本回复

语音最长一分钟

点击录音开始,最短不低于3秒