c - 如何输入 eof(Ctrl+z) 同时让 scanf 在说明符前有一个空格以避免出现先前的 \n 错误?
问题描述
(我按回车)
#include<stdio.h>
#include<stdlib.h>
int main(){
int target,result;
while(1){
printf("Please input your target: ");
scanf(" %d",&target);
if(feof(stdin)){
break;
}
printf("test\n");
}
}
如果我将代码更改为:(删除空格)
#include<stdio.h>
#include<stdlib.h>
int main(){
int target,result;
while(1){
printf("Please input your target: ");
scanf("%d",&target);//no space
if(feof(stdin)){
break;
}
printf("test\n");
}
}
有效
解决方案
推荐阅读
- scala - Scala 在尝试创建超过 255 列的 RDD 时出现 java 异常
- c# - 使用字符串插值进行字符串连接
- java - 在编辑器中显示 IntelliJ-idea 中的编译错误
- angular - ng2-toastr 不能在 Angular 4 应用程序中工作
- python - 在每组中重新采样 pandas df
- java - 相交的记录列表
- ruby-on-rails - Ruby 升级问题
- java - spring boot 请求绑定如何调用这个枚举属性设置器函数?
- c++ - 为什么 C++ 线程/未来的开销如此之大
- php - Laravel/Blade 存储到数据库(Route::post)