|

楼主 |
发表于 2023-3-21 19:04:02
|
显示全部楼层
解决了,代码如下
- #include <stdio.h>
- #include <ctype.h>
- #include <string.h>
- int read_line(char str[], int n);
- int main(){
- char message[32];
- printf("Enter a message: ");
- read_line(message, 32);
- printf("Message: %s\n", message);
- }
- int read_line(char str[], int n) {
- int ch, i = 1;
- while (isspace(ch = getchar()));
- str[0] = ch; //把空格后的第一个字符单独赋给str第一个元素
- while (i < n && (ch = getchar()) != '\n' && !isspace(ch))
- str[i++] = ch;
- if (ch == '\n' && i < n - 1)
- str[i++] = '\n';
- str[i] = '\0';
- return i;
- }
复制代码
|
|