A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© beijingdbm 中级黑马   /  2015-5-24 09:25  /  910 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在C语言中不用库函数,直接自定义输入字符串函数,求同学忙帮

6 个回复

倒序浏览
  1. #include <stdio.h>


  2. void inputString(char chs[], int length) {
  3.     // 1, 使用循环,让用户输入字符,如果用户回车
  4.     // 结束输入,如果数组的长度到了 length-2,结束输入
  5.     char ch;
  6.     int index = 0;
  7.     while ((ch = getchar()) != '\n') {
  8.         // 2, 如果没有超出长度, 将这个字符加到数组中
  9.         // 3, 如果超出长度, 需要取消剩下的字符(直到回车结束)
  10.         if(index <= length - 2) {
  11.             chs[index++] = ch;
  12.         }
  13.     }
  14.     chs[length - 1] = '\0';
  15. }



  16. int main(int argc, const char * argv[]) {
  17.    
  18. //    char chs1[100];
  19. //    inputString(chs1, 100);
  20.    
  21.     char chs3[10] = {0};
  22.     char chs2[10];
  23.     inputString(chs2, 10);
  24.     inputString(chs3, 10); // 这个输入不会因为缓存的问题而出现污染的情况
  25.     // scanf("%s", chs2);
  26.     return 0;
  27. }
复制代码
回复 使用道具 举报
还真有方法呀!大神真是无处不在呀!
回复 使用道具 举报
不错不错
回复 使用道具 举报
围观学习
回复 使用道具 举报
关键在用getchar获取字符
回复 使用道具 举报
getchar不是库函数???
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马