有关栈的问题

栈的大意
今天接触的栈的代码:
I love you------------>you love I

#include 
#include 
int main()
{
    char str1[100],str[100];
    gets(str1);
    int i;
    int top=0;
    int j=strlen(str1);
    for(i=j-1;i>=0;i--)
    {
        if(str1[i]==' ')
        {
            while(top>0)
            {
                printf("%c", str[(top - 1)]);
                top--;
            }
            printf("%c",str1[i--]);//注意空格并没有存入**栈**中
        }
        str[top]=str1[i];
        top++;
    }
    while(top>0)//执行此步骤时,说明该串单词前已经无空格了,此时存入字符中top从0开始,但现在top最小为1
    {
        printf("%c",str[top-1]);
        top--;
    }
    return 0;
}

你可能感兴趣的:(有关栈的问题)