- #include <stdio.h>
- void inputString(char chs[], int length) {
- // 1, 使用循环,让用户输入字符,如果用户回车
- // 结束输入,如果数组的长度到了 length-2,结束输入
- char ch;
- int index = 0;
- while ((ch = getchar()) != '\n') {
- // 2, 如果没有超出长度, 将这个字符加到数组中
- // 3, 如果超出长度, 需要取消剩下的字符(直到回车结束)
- if(index <= length - 2) {
- chs[index++] = ch;
- }
- }
- chs[length - 1] = '\0';
- }
- int main(int argc, const char * argv[]) {
-
- // char chs1[100];
- // inputString(chs1, 100);
-
- char chs3[10] = {0};
- char chs2[10];
- inputString(chs2, 10);
- inputString(chs3, 10); // 这个输入不会因为缓存的问题而出现污染的情况
- // scanf("%s", chs2);
- return 0;
- }
复制代码 |