c_test
1.int a[][4]={0,0};与int a[3][4] = {0};
元素不够的就以位模式初始化为0
a[第一维][第二维] 的大小,也就是最多存几个
int a[][3]={1,2,3,4,5,6,7,8};实际上等于
int a[][3]={ {1,2,3}, {4,5,6}, {7,8} };
有3个一维元素,所以一维大小为3
测试代码:
int main(void) { ][] = {}; ; i < ; ++i) { ; j < ; ++j) { printf("%d ", a[i][j]); ) printf("\n"); } } ; }
2.int k=10;
while(k=0) k=k-1;
则循环体语句一次也不执行
while中k=0,则while(0)判断为0后不再执行下面的语句
3.t=0; while(printf("*")) { t++; if(t>3)break; } 这段程序可执行几次 (4次)
int printf(const char *format, ...);
Upon successful return, these functions return the number of characters
printed (excluding the null byte used to end output to strings).
4.内存操作:将指针unsigned char* ptr的内容向后移动4个字节
*(ptr+4)=*ptr;
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <vector> #include <time.h> using namespace std; #define debug(x) cout << #x << " at line " << __LINE__ << " is: " << x << endl int main(void) { ; unsigned char* ptr=(unsigned char *)&i; ; j < ; ++j) { printf("%#x %#x\n", &i+j, ptr[j]); } *(ptr+) = *ptr; ; j < ; ++j) { printf("%#x %#x\n", &i+j, ptr[j]); } ; }
5.将无符号变量unsigned int val进行字节序颠倒
//<< > & //unsigned int val = 0xff000000; unsigned int val = 0xff; //val = ((val&0x000000ff)<<24)|((val&0x0000ff00)<<8) |( (val&0x00ff0000)>>8)| ((val&0xff000000)>>24); val = ((val&)|((val&) |( (val&)| (val>>); printf("%#x\n", val);
6.字符串逆转:
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <vector> #include <time.h> using namespace std; #define debug(x) cout << #x << " at line " << __LINE__ << " is: " << x << endl int main(void) { char *src = "hello,world"; char *dest = NULL; int len = strlen(src); dest = (); //要为\0分配一个空间 char *d = dest; ]; //指向最后一个字符 ) { *d++ = *s--; *d = ; //尾部要加上\0 } cout << dest << endl; free(dest); //使用完,应当释放空间,以免造成内存泄露 ; }
7.编写strcpy函数(10分) 已知strcpy函数的原型是 char *strcpy(char *strDest, const char *strSrc); 其中strDest是目的字符串,strSrc是源字符串。
(1)不调用C++/C的字符串库函数,请编写函数 strcpy
char *strcpyx(char *strDest, const char *strSrc){ assert((strDest!=NULL) && (strSrc !=NULL));//2分 char *address = strDest;// 2分 while( (*strDest++ = *strSrc++) != '\0')NULL;//2分 return address;// 2分 }
(2)strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?
答:为了实现链式表达式。 // 2分
例如 int length = strlen( strcpy( strDest, "hello world") );
c_test的更多相关文章
- 因为没用过,所以没想过的--goto
今天读了读 Rui Maciel 大神写的 mjson parser,mjson 解析器是一个使用 ISO C 实现的小型 JSON 解析器.嵌入式项目中使用到了该解析器,随即拿出来看看. 看到如下代 ...
- 也说python的类--基于python3.5
在面向对象的语言中,除了方法.对象,剩下的一大重点就是类了,从意义上来讲,类就是对具有相同行为对象的归纳.当一个或多个对象有相同属性.方法等共同特征的时候,我们就可以把它归纳到同一个类当中.在使用上来 ...
- ORACLE NUMBER类型Scale为0引发的问题
今天遇到了一个很有意思的NUMBER类型Scale引发的问题,我用一个简单的测试用例来展示一下这个案例.假如有个TEST的表,有个字段类型为NUMBER,我插入下面两条数据 CREATE TABLE ...
- python面向对象基础
面向对象基础 1. 简述 编程方式: 面向过程: 根据代码在脚本的堆叠顺序,从上到下依次执行 函数式编程:将相同功能的代码封装到函数中,直接调用即可,减少代码重复性 面向对象:对函数进行分类和封装,将 ...
- c程序辨别系统是64位 or 32位
#include <stdio.h> int main(void) { int i = 0x80000000; ){ printf("i = %d\n", i); pr ...
- php写插件
1.写在最前 随着互联网飞速发展,lamp架构的流行,php支持的扩展也越来越多,这样直接促进了php的发展. 但是php也有脚本语言不可避免的问题,性能比例如C等编译型语言相差甚多,所以在考虑性能问 ...
- 【系统移植】Android系统移植
$ . .. Device . SimulatorWhich would you like] Build type choices are. release . debugWhich ...
- python 将数据随机分为训练集和测试集
# -*- coding: utf-8 -*- """ Created on Tue Jun 23 15:24:19 2015 @author: hd "&qu ...
- #ifdef _cplusplus (转)
原文不可考,转载链接:http://blog.csdn.net/owldestiny/article/details/5772916 有发现原文的请告知,我会及时更新. 时常在cpp的代码之中看到这样 ...
随机推荐
- Linux下查看nginx安装目录
输入命令行: ps -ef | grep nginx master process后边的目录即是.
- Android开发学习笔记--一个有界面A+B的计算器
做了一个A+B的APP,虽然很简单,但是作为初学者还是弄了几个小时才弄好,什么东西都要看书或者百度,但最后成功了,还是很开心的,收货蛮大的.现在把过程写一下: 首先给出效果图: 一开始布局一直有问题, ...
- BZOJ1452——[JSOI2009]Count
1.题目大意: 就是给一个n×m的方格,然后一些平面上的 求和 修改操作 2.分析:二维树状数组裸题 #include <cstdio> #include <cstdlib> ...
- php中mysql与mysqli的区别
两个函数都是用来处理DB 的.首先, mysqli 连接是永久连接,而mysql是非永久连接. mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysqli则只使用同一个进程,这样可以 ...
- OSI参考模型与TCP/IP协议模型
OSI和TCP/IP都是为了计算机之间更好的互联的. 计算机网络是一个复杂的系统,比如两台计算机进行通信不仅仅只是有一条通信线就可以了. 还有很多的工作需要完成,例如: 如何知道对方计算机是否做好准备 ...
- 高性能图片服务器–ZIMG
2011年李彦宏在百度联盟峰会上就提到过互联网的读图时代已经到来1,图片服务早已成为一个互联网应用中占比很大的部分,对图片的处理能力也相应地变成企业和开发者的一项基本技能.需要处理海量图片的典型应用有 ...
- 【Network】高性能 UDP 服务应该怎么搞?
参考资料: Netty系列之Netty高性能之道 C++高性能服务框架revover:rudp总体介绍(可靠UDP传输) - zerok的专栏 - 博客频道 - CSDN.NET 高性能异步Socke ...
- iOS 在类别里添加成员变量的方法:objc_setAssociatedObject
今天在github上查看MJPopupViewController这个项目,发现里面用到了objc_setAssociatedObject,用来为类别添加成员变量. 我百度之后,发现有人是这样说明的: ...
- ios 转发一篇对于6 plus的分辨率模式的说明
http://segmentfault.com/q/1010000002545515 分为兼容模式和高分辨率模式. 兼容模式 当你的 app 没有提供 3x 的 LaunchImage 时,系统默认进 ...
- Linux历史
1.Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX标准和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支 ...