c/c++语言开发共享C用户输入和链接列表

我试图从用户输入中获取一个字符串,然后将其与我之前在代码中创建的链接列表进行比较,并找到应该插入字符串的位置。 当用户输入任何内容并点击进入时停止循环。

我能够吸收字符串并找到要插入的位置,但我想要做的是循环直到用户输入空白输入。 这导致我的代码在某处破解,我不太清楚为什么。 我在我的代码中插入了断点来调试它,但我相信我遇到了fgets的问题。 任何帮助都会很棒。

当我说代码“中断”时,输出的样子是这样的:

BREAK1: AAAA BREAK2 BREAK4 AAAA 0 BREAK5 

字符串和位置是正确的,但它在多行上打印,然后继续循环而不重置。 以下是我的代码::

 // NO FILE, SO INTAKE STRINGS /////////////////////////////////////////////////// /////////////////////////////////////////////////// else{ fgets(buff,BUFF_SIZE,stdin); buff[strlen(buff)] = ''; while (buff[0] != ''){ printf("BREAK1: %sn", buff); // set curr = root node curr = root; printf("BREAK2n"); while (curr->next){ if (strcmp(buff, curr->stringDat) == 1){ insertPnt++; curr = curr->next; printf("BREAK3n"); } else{ printf("BREAK4n"); insert(buff, insertPnt, root); printf("%20s %dn", buff, insertPnt); break; } } // clear buffer for (i = 0; i < BUFF_SIZE; i++) { buff[i] = 0; } printf("BREAK5n"); // user input fgets(buff, BUFF_SIZE, stdin); buff[strlen(buff)] = ''; printf("BREAK6n"); } } 

****更新的代码(仍然没有停止在BLANK入口处)****

 else{ while (fgets(buff, BUFF_SIZE, stdin) != NULL){ buff[strlen(buff) - 1] = ''; insertPnt = 1; printf("BREAK1: %sn", buff); // set curr = root node curr = root; printf("BREAK2n"); while (curr->next){ if (strcmp(buff, curr->stringDat) > 0){ insertPnt++; curr = curr->next; } else{ insert(buff, insertPnt, root); printf("%-20s %dn", buff, insertPnt); // PRINT LINKED LIST print(root); break; } } // clear buffer for (i = 0; i < BUFF_SIZE; i++) { buff[i] = 0; } printf("BREAK5n"); } } 

    字符串和位置是正确的,但它是在多行上打印

    因为你没有剥离由fgets提取的尾随新行:

     fgets(buff,BUFF_SIZE,stdin); buff[strlen(buff)] = ''; /* This is a NO-OP */ 

    改成

     char *ptr; fgets(buff,BUFF_SIZE,stdin); if (ptr = strchr(buff, 'n')) { *ptr = ''; } 

      以上就是c/c++开发分享C用户输入和链接列表相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/519459.html

      (0)
      上一篇 2020年12月5日
      下一篇 2020年12月5日

      精彩推荐