cracking code interview

本文探讨了C语言编程中的常见误区与技巧,包括字符串操作、内存管理及循环控制等核心概念的理解与应用,强调了测试用例的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1。1 = length的值要传入;在函数内部sizeof、strlen 这种事没有用的;错误原因:传入参数
是一种变量声明。
1.2
            char * a1 = "12345";
a1[1] = a1[2];


a1 在字面字符常量区域不能进行交换;是只读的·· 
要放在heap or stack区才可以;


1.2.1*end-- = *beg; <=>
*end=*beg;
end --;




1.3


while 之后的值就是最后的那个值
注意 C-style字符串的问题·· 最后一个要有 0 可以作为判断的依据
一定要打了草稿再上机写程序·· 否则浪费时间


测试用例:
1 = 完全取反的测试用例;也就是说电脑什么都没干的测试用例;例如去掉重复中的;完全没有重复
的测试用例
2 = 空的测试用例;例如完全是空的字符串或者数组;


2013年6月28日10:37:26
1.4 在循环中要含有回归条件例如++t 这种才可以·· 要不然会一直循环到死




test ::strcpy 不会加入‘/0’符号在结尾处,但是当strcpy最后的值足够放下那个‘\0’时可以放下
strcpy函数会放下这个字符
char * a = "1234";
char  b[5];
strcpy(b,a);
return 0;
这个样子的时候会在最后加入一个‘\0’
in this case::
char * a = "1234";
char  b[6];
strcpy(b,a);
return 0;
b会在最后一个地方加入‘\0’
char *a = "1234";

a[0] = '1'
a[1] = '2'
a[2] = '3'
a[3] = '4'
a[4] = '\0'
a[5] = '\0'
char  b[6] = {0};
这样的话b[0] = '\0';


2013年6月29日10:40:16


在同一个层次下·· 有一个变量是无法看到其变化的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值