输入输出的问题
#include<iostream.h>
#include<stdio.h>
int main()
{
char a[43];
cout<<"dfs";
gets(a);
return 0;
}
在Visual C++ 6.0中运行后,为什么先输入字符串再输出dfs?
问题点数:50、回复次数:9Top
1 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2006-03-16 20:20:18 得分 5
我只能说,你知道,就行了。Top
2 楼yuanchuang(元创)回复于 2006-03-16 20:27:02 得分 5
?会有这种事情发生?
你写成这样吧:cout<<"dfs"<<fflush;这是刷新缓冲区
但是程序应该是遇到有输入自动刷新缓冲区的
我没有拿你这个测试,也没有拿VC写过DOS程序,但我觉得这种情况不太应该发生。Top
3 楼ykzhujiang(朱朱)回复于 2006-03-16 20:46:51 得分 5
最好不要把C和C++的库函数混用
上面的问题可以如下解决:
1、
#include<iostream.h>
#include<stdio.h>
int main()
{
char a[43];
cout<<"dfs";
cout.flush();
gets(a);
return 0;
}
2.
#include<iostream.h>
#include<stdio.h>
int main()
{
char a[43];
cout<<"dfs";
cin>>a;
return 0;
}
Top
4 楼ugg(逸学堂(exuetang.net))回复于 2006-03-16 20:47:04 得分 5
char a[43];
cout<<"dfs";
gets(a);// cin >> a;
return 0;
Top
5 楼ykzhujiang(朱朱)回复于 2006-03-16 20:51:21 得分 10
3.
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
char a[43];
cout<<"dfs";
gets(a);
return 0;
}
Top
6 楼ericqxg007(还有很多东西要学(卡卡一米阳光))回复于 2006-03-17 09:17:23 得分 5
使用c++标准输入输出流不会有什么问题Top
7 楼zh2817()回复于 2006-03-17 09:32:27 得分 5
如果使用头文件
#include<iostream.h>
#include<stdio.h>
则先输入字符串再输出dfs,
如果使用#include<iostream>
#include<cstdio>
using namespace std;
则先输出dfs,再输入字符,
这是一个C++标准问题Top
8 楼shine51151(美丽心情)回复于 2006-03-17 09:40:57 得分 5
大家说的都很有道理 已经很全面了 我没有可补充的了 :)提醒搂主 细节问题不可忽视的!Top
9 楼greenteanet(扎扎实实打基础,保持一颗平常心。)回复于 2006-03-17 12:51:19 得分 5
最好使用标准Top




