//C语言
//输入一串整数和任意数目的空格
//这些整数必须位于同一行中
//但允许出现在该行中的任何位置
//当用户敲下"Enter"键时输入结束
//自动对所有的整数求和
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
int sum=0;
char ch;
printf("请输入一串整数和任意数目的空格:");
while(scanf("%d",&i)==1)
{
sum+=i;
while((ch=getchar())==' ')
;
if(ch=='\n')
break;
//将变量 ch 中存放的字符退回给 stdin 输入流
ungetc(ch,stdin);
}
printf("结果是:%d",sum);
printf("\n");
system("pause");
}
//C++
//输入一串整数和任意数目的空格
//这些整数必须位于同一行中
//但允许出现在该行中的任何位置
//当用户敲下"Enter"键时输入结束
//自动对所有的整数求和
#include <iostream> //包含头文件 iostream
using namespace std; //使用命名空间 std
int main()
{
int sum=0;
cout<<"请输入一串整数和任意数目的空格:";
//正常返回自身
//反之,返回false
int i;
while(cin>>i)
{
sum+=i;
while(cin.peek()==' ')
{
// 流对象cin:类型是istream
//如何从用户终端读取数据
cin.get();
}
if(cin.peek()=='\n')
{
break;
}
}
cout <<"结果是:"<<sum<<endl;
return 0;
//如果用户不进行键盘的输入
//程序将会阻塞
//>> :最初定义为右移操作符
//它在C++中进行了重载,当它按照这里所示的方式使用时
//它就用于从输入流对象提取信息
//这个操作符对所有内建的数据类型都进行了重载
//所以它可以从输入流对象
//提取出 int float double 型数据
//也可以提取字符串等数据
//C和C++事实上在声明变量得事实上有点不同
//C++ 允许我们在程序的任意位置声明变量
//这大大的提高了大型C++程序的可读性
//cin.ignore()
//cin.getline()
//cin.get()
//cin.peek()
//cin.gcount()
//cin.read()
//cout.precision()
//cout.width()
}```