C语言字符串处理:从基础到高级应用
1. 读取数值后读取字符串的问题
在C语言编程中,当程序先读取一个数值,再读取一个字符串时,会出现一些意外情况。例如下面的代码:
#include <stdio.h>
int main(void)
{
char str[100];
int num;
printf("Enter number: ");
scanf("%d", &num);
printf("Enter text: ");
fgets(str, sizeof(str), stdin);
printf("%d %s\n", num, str);
return 0;
}
在这个程序中, scanf() 读取整数并存储在 num 中,按下回车键产生的换行符会存储在 stdin 中,随后 fgets() 会读取这个换行符并存储在 str 中。由于 fgets() 遇到换行符就会终止,用户无法输入更多字符,所以程序只会输出输入的数字。解决办法是在 fgets() 之前使用 getchar() 读取换行符。
2. 字符串操作练习
2.1 统计字符信息并替换字符
#include <st
超级会员免费看
订阅专栏 解锁全文
1589

被折叠的 条评论
为什么被折叠?



