从键盘输入一个字符串 然后从第一个字母开始间隔输出该字符串。我想问一下我图上打的这个程序哪里出错了

从键盘输入一个字符串 然后从第一个字母开始间隔输出该字符串。我想问一下我图上打的这个程序哪里出错了?

你算一下,当p[i]=='\0'时,m已经是i的2倍了,那里早已不是字符串s的“管辖”之地了;而且,printf中的"%s"应换成"%c",不然也输出出错。这样写就对了:

#include "stdio.h"
#include "string.h"
int main(void){
    char s[80],i,ln;
    gets(s);
    for(ln=strlen(s),i=0;i<ln;i+=2)
        printf("%c",s[i]);
    printf("\n");
    return 0;
}

温馨提示:答案为网友推荐,仅供参考