首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

新手提问,该如何解决

2012-04-03 
新手提问怎样控制未知数量字符串的输入???????[解决办法]抱歉,之前看错了,控制未知数量字符串的输入 我

新手提问
怎样控制未知数量字符串的输入???????


[解决办法]

 抱歉,之前看错了,"控制未知数量字符串的输入" 我看成 "控制未知数量字符的输入"
 这下写好了,可以 控制未知数量字符串,并且每个字符串的字符个数可以任意(在内存可以正常分配的情况下)

C/C++ code
#include <stdio.h>#include <stdlib.h>#include <string.h>struct StrNode{    char c;    struct StrNode *link;};struct StrList{    struct StrNode *str;    struct StrList *link;};struct StrNode* createStr_link(){    char ch;    struct StrNode *s = (struct StrNode*)malloc(sizeof(struct StrNode));    struct StrNode *r = s;    s->link = NULL;    scanf("%c", &ch);    while(ch != '\n')    {        struct StrNode* p = (struct StrNode*)malloc(sizeof(struct StrNode));        if(p == NULL)        {            printf("内存溢出!\n");            return s;        }        else        {            p->c=ch;            p->link = NULL;            r->link = p;            r = p;        }        scanf("%c", &ch);    }    return s;}struct StrList* createStrList_link(){    struct StrNode *str = NULL;    struct StrList *s = (struct StrList*)malloc(sizeof(struct StrList));    struct StrList *r = s;    s->link = NULL;    str = createStr_link();    while(str->link->c != '#')    {        struct StrList* p = (struct StrList*)malloc(sizeof(struct StrList));        if(p == NULL)        {            printf("内存溢出!\n");            return s;        }        else        {            p->str= str;            p->link = NULL;            r->link = p;            r = p;        }        str = createStr_link();    }    return s;}void printStr_link(struct StrNode *s){    struct StrNode *p = s->link;    while (p!=NULL)    {        printf("%c", p->c);        p=p->link;    }    printf("\n");}void printStrList_link(struct StrList *s){    struct StrList *p = s->link;    while (p!=NULL)    {        printStr_link(p->str);        p=p->link;    }    printf("\n");}int main(){    struct StrList *s = NULL;    printf("请输入任意个字符串,输入#结束: \n");    s = createStrList_link();    printf("你输入的字符串为: \n");    printStrList_link(s);    return 0;} 

热点排行