c++杂七杂八的注意点
来源:互联网 发布:小说素材软件 编辑:程序博客网 时间:2024/06/07 12:44
1.strcpy(s1,s2)中s1,s2是字符数组的首地址。
char * code;cd=(char*)malloc(sizeof(char)*n); strcpy(cd+n-1,"\0"); // strcpy(s1,s2);中s1和s2都是字符数组的首地址,所以这里也该放地址,不是strcpy(cd[n-1],"\0");
2.c++自动将”“里的内容作为字符串,字符串以”\0”结尾。以下这种企图逆序一个字符一个字符输入(实际上上输入的是字符串)的方法最后printf的结果是h。
char * code; code=(char *)malloc(sizeof(char)*4); strcpy(code+3,"\0"); strcpy(code+2,"!"); strcpy(code+1,"i"); strcpy(code+0,"h"); printf("%s\n",code);
仅printf h的原因,请看整个程序的过程:
图片为3,4,5,6代码执行后字符串数组code的状态。
注意第四行代码code里\0来源:”!”的内容为 !\0.这个\0是!带来的,把原来的\0覆盖了。第五行code[2]==\0也就容易理解了。
为了验证其正确性,第七行可以改为printf(“%s”,code+2); 结果
为一个单纯的回车。当杠掉第五行代码时,结果为!。
如果一定要逆序输入的话,解决的办法可以是建个堆栈,先把逆序的所有字符全压入栈,然后再一个个出栈就是顺序的啦。这样是字符覆盖\0,而不是之前的\0覆盖字符,问题就解决了。PS:第三行的\0好多余的存在。
3.
typedef char test[5][5]; //test类型是一个5*5的矩阵 test t; strcpy(t[0],"abb"); strcpy(t[2],"cbb"); printf("%s\n",t[2]);
4.
bool visited[MAX_VERTEX_NUM];//注意,布尔类型为bool,值为false和true,均小写。 布尔型数组默认为false。//定义一个int类型的数组,不用初始化,默认为0.//int类型的最大值 INT_MAX 编译器事先定义好了
5.读取文件
#inculde<stdio.h> FILE *file=fopen("fudn.txt","r"); fscanf(file,"%s",str); fclose(fudn); //注:fscanf遇到空格和换行时结束,注意空格时也结束,fgets遇到空格不结束。
0 0
- c++杂七杂八的注意点
- C/C++的杂七杂八
- c 的一些注意点
- C语言的注意点
- 一些杂七杂八的技巧和注意项
- 嵌入式C语言的杂七杂八
- 杂七杂八的C语言问题
- C语言要注意的几点
- C指针的一些注意点
- C语言编码注意的点
- 嵌入式C语言编程注意的点
- c的一个小注意点
- C语言宏的几个注意点
- 二、Objective-c-项目的注意点
- C语言注意点
- C注意点
- C 基本知识,注意点
- C语言注意点
- 计算机网络(自顶向下方法)
- java GC机制的一些总结
- 【BZOJ1100】【POI2007】对称轴osi
- (BOOL)synchronize立即更新磁盘内容
- linux 小技巧
- c++杂七杂八的注意点
- C# 两种方法实现HTTP协议迷你服务器
- 关于ViewHolder的终极优化
- [BZOJ3238][Ahoi2013]差异
- matlab 实用程序片段
- PYQT4 UI 线程分离
- android KeyEvent分发
- Web 服务编程,REST 与 SOAP
- DUNS申请