欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

C语言 ungetc将变量存放的字符返回给stdin输入流

发布时间:2024/2/28 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 C语言 ungetc将变量存放的字符返回给stdin输入流 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

以下代码输入回车就能结束

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int main() {int i;int sum = 0;char ch;printf("请输入:");while (scanf("%d", &i) == 1){sum = sum + i;//如果不加以下三行,输入时要用^Z^Z^Z结束while ((ch = getchar()) == ' ');//屏蔽空格if (ch == '\n')break;//如果是换行,结束输入ungetc(ch, stdin);}printf("结果:%d\n", sum);system("pause"); }

以下两块代码均需输入^Z^Z^Z才能结束
(1)返回值为1版

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int main() {int i;int sum = 0;char ch;printf("请输入:");while (scanf("%d", &i) == 1){sum = sum + i;//如果不加以下三行,输入时要用^Z^Z^Z结束//while ((ch = getchar()) == ' ');//屏蔽空格//if (ch == '\n')break;//如果是换行,结束输入//ungetc(ch, stdin);}printf("结果:%d\n", sum);system("pause"); }

(2)返回值不等于EOF版

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int main() {int i;int sum = 0;char ch;printf("请输入:");while (scanf("%d", &i) !=EOF){sum = sum + i;//如果不加以下三行,输入时要用^Z^Z^Z结束//while ((ch = getchar()) == ' ');//屏蔽空格//if (ch == '\n')break;//如果是换行,结束输入//ungetc(ch, stdin);}printf("结果:%d\n", sum);system("pause"); }

输入输出效果:

请输入:1 2 3 4 5
^Z
^Z
^Z
结果:15
请按任意键继续. . .

总结

以上是生活随笔为你收集整理的C语言 ungetc将变量存放的字符返回给stdin输入流的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。