摘要: 裘宗燕:C/C++语言中的表达式求值经常可以在一些讨论组里看到下面的提问:“谁知道下面C语句给n赋什么值?”m=1;n=m+++m++;最近有位不相识的朋友发email给我,问为什么在某个C++系统里,下面表达式打印出两个4,而不是4和5:a=4;cout<<a++<<a;C++不是规定<<操作左结合吗?是C++书上写错了,还是这个系统的实现有问题?要弄清这些,需要理解的一个问题是:如果程序里某处修改了一个变量(通过赋值、增量/减量操作等),什么时候从该变量能够取到新值?有人可能说,“这算什么问题!我修改了变量,再从这个变量取值,取到的当然是修改后的值!”其 阅读全文
posted @ 2013-05-13 22:18 herizai 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 输入一个字符串,内有数字和非数字字符,如A123 456×17960? 302ta309*dal201n320将其中连续的数字作为一个整数,并输出这些数. 有什么简单的方法? 急!!! #include <stdio.h> main() { char str[50], *pstr; int i,j,k,m,e10,digit,ndigit,a[10],*pa; printf("Input a string: \n"); gets(str); printf("\n"); pstr=&str[0]; /* 字符指针pstr置于数 阅读全文
posted @ 2013-05-13 17:38 herizai 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 其实两个都是C++文件流的分支,在C++有一个stream这个类,所有的I/O都以这个“流”类为基础的,也就是他的子类。首先来说fstream吧!在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是: void open(const char* filename,int mode,int access); 参数: filename: 要打开的文件名 mode: 要打开文件的方式 access: 打开文件的属性 打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值如下: ios::app: 以追加的方式打开文件 ios::... 阅读全文
posted @ 2013-05-13 13:50 herizai 阅读(753) 评论(0) 推荐(0) 编辑
摘要: <sstream>库是最近才被列入C++标准的。(不要把<sstream>与标准发布前被删掉的<strstream>弄混了。)因此,老一点的编译器,如GCC2.95,并不支持它。如果你恰好正在使用这样的编译器而又想使用<sstream>的话,就要先对它进行升级更新。<sstream>库定义了三种类:istringstream、ostringstream和stringstream,分别用来进行流的输入、输出和输入输出操作。另外,每个类都有一个对应的宽字符集版本。简单起见,我主要以stringstream为中心,因为每个转换都要涉及到输入 阅读全文
posted @ 2013-05-13 13:49 herizai 阅读(1256) 评论(0) 推荐(0) 编辑
摘要: #include<iostream>#include<sstream>using namespace std;int main(){ string a; cout<<"请输入字符串:"; cin>>a; const string& b=a; cout<<"字符串的长度为:"<<b.length(); cout<<endl; return 1;} 阅读全文
posted @ 2013-05-13 13:28 herizai 阅读(172) 评论(0) 推荐(0) 编辑