作用是将用户输入的字符打印出来,while(cin>>s){cout<<s<<endl;}是一个死循环,可以加上break条件来终止循环。例如:while(cin>>s){ if(s==0) //假设是int型 break;cout<<s<<endl;} 用户输入0时跳出循环
"Hello!" 是常量字符串,在内存中存在这个字符串,s 就指向这个字符串的地址。在C++中,cout 一个字符串的首地址,可以输出这个字符串——当然前提是这个字符串必须以'\0'结尾。
顺便解释一下,endl是一个特殊值,称为操纵符,将它写入输出流时,一是输出换行,二是刷新设备缓冲区。通过刷新缓冲区,用户可以立即看到写入到流中的输出内容。程序员经常在调试过程中插入输出语句,这些语句都应该刷新输出流。忘记刷新输出流可能会造成输出停留在缓冲区,从而可能导致对程序崩溃位置的错误...
此时s的大小为 0 所以你此时访问越界了 要此句合法 你应该先前为s赋值
p->s是输出第一个结构体的s成员,即Mary cout << p->q->s << endl ; //q是p的第二个成员,在第一个结构体中他的值是 a+1,所以p->q也就是指向第二个结构体,输出结果为Jack cout << p->q->q->q->s << endl ; //同理,指向第三个结构体,输出Jim ...
(ps: 在我们的采访过程中还有幸捕捉到了两位本科毕业生,不知道他们的关键词有没有和你的一样呢?)毕业在即,我会回想起在陈瑞球教室里上过的课。在东中院某张冰凉的桌椅上,我也曾留下我孜孜不倦的温度,在某个墨色如水的夜晚,软楼实验室也曾留下...
std::cout中..如同名字一样的意思,NameSpace:名字空间,之所以出来这样一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象,对于库来说,这个问题尤其严重,如果两个人写的库
关于第一个程序: 'cout' : undeclared identifier的意思是说你没定义cout这个操作。你应该把输入语句改成std::cout<<" ";就可以了 (这些都是在书上有的内容,我不详细说为什么了,希望LZ认真看书。)关于第二个程序d:\vc6\vc6\vc98\include\eh.h(32) : fatal error C1189: #error : ...
当std::string*类型的指针没有指向std::string类型的对象时,它具有未定义的行为。