标签:printf csharp exit main enter 编写 tchar blog 程序
#include <stdio.h> #include <stdlib.h> void main() { int i; int sum = 0; char ch; printf("请输入一串整数和任意数目的空格: "); while( scanf("%d", &i) == 1 ) { sum += i; while( (ch=getchar()) == ‘ ‘ )//这里两个单引号之间是一个空格 ; if( ch == ‘\n‘ ) { break; } ungetc( ch, stdin ); } printf("结果是: %d", sum); printf("\n"); system("pause"); } //编写一个程序,要求用户输入一串整数和任意数目的空格,这些整数必须位于同一行中,但允许出现在该行的任何位置。 //当用户按下键盘的Enter键时,数据输入结束。程序自动对所有的整数进行求和并打印结果 // -1::判断输入的是不是整数,如果是整数,那么则加到总数中来 -2:判断输入的是不是空格,如果是空格,那么则不进行任何操作 -3:判断输入的空格是不是换行,如果这个空格是换行,那么则跳出这个判断 // ungetc(ch, stdin);将你读到的字符回退到输入流中 比如上面的程序你先输入数字25,scanf读到i中,加到sum中,然后你再输入,调用ch=getchar(),发现ch不是‘ ‘也不是‘\n‘,而是一个数,比如’7‘,显然这是你要继续加到sum中的数,要用scanf读到i中,但是你已经将这个‘7‘用getchar读出来了,只好用ungetc再把这个‘7‘给退回去 // scanf()函数返回的值的意义为:正确按指定格式输入变量的个数;也即能正确接收到值的变量个数。 就是说正确接收值的个数。此时scanf("%d",&i)要求输入一个int数。因此只要按格式输入一个int数,结果都是1. 假如scanf("%d%d%d",&i,&j,&k)。你输入时10 20 d则scanf返回为2 // if( ch == ‘\n‘ ) { break; } 当判断是换行时,则跳出。 // system就是调用从程序中调用系统命令(和shell命令)。 system("pause")就是从程序里调用“pause”命令; 而“pause”这个系统命令的功能很简单,就是在命令行上输出一行类似于“Press any key to exit”的字,等待用户按一个键,然后返回。
标签:printf csharp exit main enter 编写 tchar blog 程序
原文地址:http://www.cnblogs.com/ZZiz/p/7576866.html