这个程序运行输出为何每一次不是6个英文字母的,s[7]=‘\0’不是结束标志吗?那么按理说应该是6个字母才对吧,然后遇到结束标志结束,之后的a[8]也就没了
这个程序运行输出为什么每一次不是6个英文字母的,s[7]=‘\0’不是结束标志吗?那么按理说应该是6个字母才对吧,然后遇到结束标志结束,之后的a[8]也就没了。
#include <stdio.h>
#include <string.h>
void main()
{char s[8],temp;int i,k;
for(i=0;i<7;i++)s[i]='a'+i;
s[7]='\0';
for(i=0;i<3;i++)
{temp=s[6];
for(k=6;k>0;k--)
s[k]=s[k-1];
s[0]=temp;
printf("%s\n",s);}}求大神说一下详细的步骤,思路。。。感激不尽。。。。。。。
------解决思路----------------------
s[7] = '\0'就是最后一个位置是结束符,前边有7个有效字符啊(0~6)
------解决思路----------------------
0到6 ,你数一下,不是应该7个吗
------解决思路----------------------
char s[8]: s[0]----->s[7]
c下标从0开始.
#include <stdio.h>
#include <string.h>
void main()
{char s[8],temp;int i,k;
for(i=0;i<7;i++)s[i]='a'+i;
s[7]='\0';
for(i=0;i<3;i++)
{temp=s[6];
for(k=6;k>0;k--)
s[k]=s[k-1];
s[0]=temp;
printf("%s\n",s);}}求大神说一下详细的步骤,思路。。。感激不尽。。。。。。。
------解决思路----------------------
s[7] = '\0'就是最后一个位置是结束符,前边有7个有效字符啊(0~6)
------解决思路----------------------
0到6 ,你数一下,不是应该7个吗
------解决思路----------------------
char s[8]: s[0]----->s[7]
c下标从0开始.