visual c++6.0中创建一个win32控制台应用程序,一个hello world程序,将helloworld.cpp文件内容替换
//helloworld.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#in...
// helloworld.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream.h"
#include "cstring"
int main()
{
char str1[20],str2[10];
cout<<"输入少于9个字符"<<'\n';
cout<<"str1=";
cin >>str1;
cout<<"输入少于9个字符"<<'\n';
cout<<"str2=";
cin >>str2;
cout<<"输出字符串"<<"\n";
cout<<"str1="<<str1<<"\n";
cout<<"str2="<<str2<<"\n";
cout<<"计算str1的长度"<<"\n";
cout<<"长度="<<strlen(str1)<<"\n";
cout<<"把字符串str2衔接到字符串str1后面"<<"\n";
cout<<strcat(str1,str2)<<"\n";
printf("Hello World!\n");
return 0;
}
问题是 printf("Hello World!\n");语句怎么不见执行啊
编译无错误无警告,可以执行程序,就不见 printf("Hello World!\n");执行,将此句放在 char str1[20],str2[10];前可以看见其执行了,你们说怪不怪
用Using namespace std;不行,我亲自试过了,错误如下
error C2871: 'std' : does not exist or is not a namespace
执行 cl.exe 时出错. 展开
//
#include "stdafx.h"
#include "iostream.h"
#include "cstring"
int main()
{
char str1[20],str2[10];
cout<<"输入少于9个字符"<<'\n';
cout<<"str1=";
cin >>str1;
cout<<"输入少于9个字符"<<'\n';
cout<<"str2=";
cin >>str2;
cout<<"输出字符串"<<"\n";
cout<<"str1="<<str1<<"\n";
cout<<"str2="<<str2<<"\n";
cout<<"计算str1的长度"<<"\n";
cout<<"长度="<<strlen(str1)<<"\n";
cout<<"把字符串str2衔接到字符串str1后面"<<"\n";
cout<<strcat(str1,str2)<<"\n";
printf("Hello World!\n");
return 0;
}
问题是 printf("Hello World!\n");语句怎么不见执行啊
编译无错误无警告,可以执行程序,就不见 printf("Hello World!\n");执行,将此句放在 char str1[20],str2[10];前可以看见其执行了,你们说怪不怪
用Using namespace std;不行,我亲自试过了,错误如下
error C2871: 'std' : does not exist or is not a namespace
执行 cl.exe 时出错. 展开
4个回答
展开全部
把printf("Hello World!\n");前面的cout<<strcat(str1,str2)<<"\n";
改为:cout<<strcat(str1,str2)<<endl;
然后就可以了。
之所以改成endl是因为endl除了有换行功能外,还有刷新缓冲区的功能
而“\n”仅仅是换行
改为:cout<<strcat(str1,str2)<<endl;
然后就可以了。
之所以改成endl是因为endl除了有换行功能外,还有刷新缓冲区的功能
而“\n”仅仅是换行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不要纠结于此问题,这是编译器的问题,你估计用的VC6.0
不过倒是可以说说这两者的区别:
当你用 cout 输出的时候,系统并不是将其送入屏幕,而是转存到缓冲区,待缓冲区满时一次性显示
解决的办法是,调用一次 cout < < flush;
C语言中为 fflush(stdout);
还有就是 cout < < "\n"; 和 cout < < endl; 的区别
前者仅仅只将回车符送入输出缓存,而后者多一个操作,即立即显示
而printf就是直接将其送入屏幕
不过倒是可以说说这两者的区别:
当你用 cout 输出的时候,系统并不是将其送入屏幕,而是转存到缓冲区,待缓冲区满时一次性显示
解决的办法是,调用一次 cout < < flush;
C语言中为 fflush(stdout);
还有就是 cout < < "\n"; 和 cout < < endl; 的区别
前者仅仅只将回车符送入输出缓存,而后者多一个操作,即立即显示
而printf就是直接将其送入屏幕
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询