输出亲朋好友字符串转化错误

img

img


我的思路是把利用s2数组存储s1数组两个相邻元素的和,利用长度判断结束点并输出最后一个和第一个的和,测试用例有效,求指点

输出s2的时候应该是%s吧

从一开始就错了

img

#include <stdio.h>
#include <string.h>

int main()
{
    int n, i;
    char s1[100], s2[100];
    scanf("%s", &s1);
    int len = strlen(s1);
    for(i=0; i<len; i++)
    {
        s2[i] = s1[i] + s1[(i+1) % len];
    }
    for(i=0; i<strlen(s2); i++)
    {
        printf("%c", s2[i]);
    }
    return 0;
}

不加#include <string.h>能编译通过?

供参考,试试这样写:

#include <stdio.h>
#include <string.h>
int main()
{
    int n,i;
    char s[101]={0},tmp;
    scanf("%s", s);
    n = strlen(s);
    if (n >= 2){
        for (i = 0,tmp = s[0];i < n - 1;i++)
             s[i] += s[i+1];
        s[i] += tmp;
    }
    printf("%s",s);
    return 0;
}