cin 和 getchar()

原创 2015年11月17日 23:51:27



1 #include <stdio.h>
  2 #include <iostream>
  3 #include <string.h>
  4 using namespace std;
  5
  6 int main()
  7 {
  8     char buffer[200];
  9     int i=0;                                                               
 10     char temp;
 11     temp = getchar();
 12     if(temp == '\n')
 13         return 0;
 14     while(temp == ' ')
 15     {
 16         temp= getchar();
 17         if(temp != ' ')
 18             break;
 19     };      
 20     if(temp != '\n')
 21     {
 22         while(temp != '\n')
 23         {
 24             buffer[i++] = temp;
 25             temp = getchar();
 26             if(temp == ' ')
 27             {
 28                 while (temp == ' ')
 29                     temp = getchar();
 30                 buffer[i++] = ' ';
 31             }
 32         }
 33     }
 34
 35 //  cout << endl << buffer;
 36     for(int j=0; j<strlen(buffer); j++)
 37         cout << buffer[j];
 38     cout << endl;
 39     return 0;
 40 }          
 运行结果:
     today is     nice day. hl

today is nice day. hl
关键点:
1. do while和while运行顺序要保证正确
2. temp = getchar()为正确,而cin >> temp无法正确实现功能

cin>>

该操作符是根据后面变量的类型读取数据。

输入结束条件 :遇到Enter、Space、Tab键。

对结束符的处理 :丢弃缓冲区中使得输入结束的结束符(Enter、Space、Tab)

请参考如下网址:

http://www.cnblogs.com/A-Song/archive/2012/01/29/2331204.html


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

深入了解scanf/getchar/gets/cin等函数

scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的。但是有时候却就是因为使用这些函数除了问题,却找不出其中的原因。下面先看一个很简单的程序: ...

关于getchar()cin>> 缓冲区的一点发现

#include                                  首先看到右边这些代码 我们输入3  ...

scanf()、getchar()、gets()、cin之间的区别

问题描述一:(分析scanf()和getchar()读取字符)      scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的。但是有时候...

HDU 1010 奇偶剪枝,scanf,getchar,gets,cin的区别

借此机会学习下gets,getchar,scanf 这几个函数在接收时的不同 1.只有gets会把换行符接收,转化为字符串末尾的'\0',其他的不接收,将'\n'留在缓冲区中,所以之后的读取都会度'...

深入了解scanf()getchar()和gets()cin等函数

深入了解scanf()/getchar()和gets()/cin等函数   问题描述一:(分析scanf()和getchar()读取字符)         scanf()...

cin.get()与getchar()函数有什么区别?

C++中几个输入函数的用法和区别(cin、cin.get()、cin.getline()、getline()、gets()、getchar()))  1、cin 2、cin.get() 3、cin.g...

cin get getline gets getchar区分

学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行)转载请保留作者信息; 1、ci...

cin、get、getline、gets、getchar区分

学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行)转载请保留作者信息; 1、ci...

【缓存区问题】深入了解scanf()/getchar()和gets()/cin等函数

转:原文:http://www.cnblogs.com/FCWORLD/archive/2010/12/04/1896511.html 转:问题描述一:(分析scanf()和getchar()读取字...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)