把自己搞死之前,知道自己是这么死的了

#include <stdio.h>
#include <stdlib.h>
int main(void)
{    int i;
    int  sum=0;
    char ch;
    
    printf("输入数字和任意空格:");    
    while(scanf("%d",&i)==1)
    {
        sum = sum+i;        
        while((ch=getchar())==' ')// 想把自己搞死的话 ,这里 ch=getchar() ==' '试试 
           ;           
           if(ch=='\n')
           {
               break;
              }
           ungetc(ch,stdin);
    }
    printf("结果是:%d",sum);
    printf("\n");
    system("pause");
    return  0;
}

这个程序还有更加简洁的写法哦:

#include <stdio.h>
#include <stdlib.h>
int main(void)
{    int i;
    int  sum=0;
    char ch;
    
    printf("输入数字和任意空格:");    
    while(scanf("%d",&i)==1)
    {
        sum = sum+i;                   
        if(getchar()=='\n')
        {
               break;
           }
    }
    printf("结果是:%d",sum);
    printf("\n");
    system("pause");
    return  0;
}
/*scanf会帮你过滤掉空格,不必自己操作*/

最下面是c++的实现方法

#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
    int sum =0;
    cout<<"请输入一串整数和任意数目的空格:" ;
    int i;
    while(cin>>i)
    {
        sum+=i;
        while(cin.peek()== ' ')
        {
            cin.get();
        }
        if(cin.peek() =='\n')
        {
            break;
        }
    }
    cout<<"结果是:"<<sum <<endl;
    return 0;
}
原文地址:https://www.cnblogs.com/yoyov5123/p/2934470.html