卫士通A卷笔试题和面试题答案(二)
二、找错误
1.字符处理的问题,将"abc"变成"cba"。
具体代码忘记了,主要是strlen问题。
2.
1. int main()
2. {
3. int a[100];
4. int *p;
5. p = &a;
6. return 0;
7. }
找错
3.忘记了
三、编程题
1.比较字符串大小,如果字符串1大于字符串2,返回1,相等返回0,小于则返回-1;
1. int strcmp(const char* str1, const char* str2)
2. {
3. int ret = 0;
4. while(!(ret=*(unsigned char*)str1-*(unsigned char*)str2) && *str1)
5. {
6. str1++;
7. str2++
8. }
9.
10.
11. if (ret < 0)
12. {
13. return -1;
14. }
15. else if (ret > 0)
16. {
17. return 1;
18. }
19. return 0;
20. }