以致造句:一个c语言的问题

来源:百度文库 编辑:高校问答 时间:2024/05/07 14:16:43
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
char str1[8],str2[8];
gets(str1);
int time=0;
scanf("%d",&time);
int lenght=strlen(str1);
for(int k=0;k<time;k++)
{
str2[0]=str1[lenght-1];
for(int i=0;i<lenght-1;i++)
{
str2[i+1]=str1[i];
}
strcpy(str1,str2);
}
printf("Rolled string is: %s.\n",str1);
system("pause");
}
这个是用来让字符滚动的一个程序,比如输入abcd1234和3,输出就应该是234abcd1,但是我编译以后输出的是bcd1234a0$,不知道为什么

字符串要以\0结束!

算法看不出有错
再调试看看~~~~~~~~~

字符串要以'\0'为结束标志!!!