我用循环输入没有输出,刚刚开始学,希望可以解答一下,求指教😊😊非常感谢
2条回答 默认 最新
- 浪客 2022-09-28 00:32关注
#include <string.h> #include <stdio.h> typedef struct _node { char *data; int length; } Node; int main() { Node head = {0}; head.data = (char *)malloc(100 * sizeof(char)); int i = 0; char ch; while (i < 100 && (ch = getchar()) != '\n') { if (ch == ' ') continue; head.data[i++] = ch; } head.length = i; for (i = 0; i < head.length - 1; i++) { for (int j = i + 1; j < head.length; j++) { if (head.data[i] == head.data[j]) { memcpy(&head.data[j], &head.data[j + 1], head.length - j); head.length--; i--; } } } char *p = (char *)malloc(head.length * sizeof(char)); memcpy(p, head.data, head.length); free(head.data); head.data = p; for (i = 0; i < head.length; i++) { printf("%c ", head.data[i]); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报