题解 | #字符串分隔#
字符串分隔
https://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7
#include <stdio.h> #include <string.h> int main() { char str[128] = {0}; if (fgets(str, 102, stdin) != NULL) { str[strcspn(str, "\n")] = 0; } int i =0; while (str[i] != '\0') { printf("%c", str[i]); i++; if (i%8 == 0) { printf("\r\n"); } } if (i%8 != 0) { int wlen = 8 - (i%8); for (i = 0; i < wlen; i++) { printf("0"); } printf("\r\n"); } return 0; }
收获点:
①行输入问题,又忘记了输入一行会有最后的'\r','\n'两个字符
②行输入问题,从终端获取输入的一行后,要删除掉回车字符
//获取从终端输入的100个字符,fgets的长度要大于102才行 char str[128] = {0}; if (fgets(str, 102, stdin) != NULL) { str[strcspn(str, "\n")] = 0; }