C语言怎么实现从控制台输入一个字符串,向控制台输出其所有子字符串

【样例输入】
abcd
【样例输出】
a
b
c
d
ab
bc
cd
abc
bcd
abcd

#include<stdio.h>
#include<stdlib.h>

void substring(char* s){
    int i,j,k;
    for(i = 0; s[i]; i ++)//遍历每个元素。 
    {
        for(k=1; s[k+i-1]; k ++)//计算以s[i]开始 长度为k的子串
        {
            for(j = 0; j<k; j ++)//输出子串。 
            {
                printf("%c", s[i+j]);
            }
            printf("\n");
        }
    }
}

int main(){
    char* p;
    p=(char *)malloc(sizeof(char));
    scanf("%s",p); 
    substring(p);
    free(p);
    return 0;
}

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