野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 282747|回复: 1267

【每日一思】考验阅读代码的分析能力

  [复制链接]
发表于 2013-12-11 00:50:35 | 显示全部楼层 |阅读模式
出了 每日一题那么久,相信大家的C语言也有了个更加深入的了解了吧?
我们的 题目,呵呵,也出得差不多了,接下来,我们 锻炼一下分析代码的能力!

  1. char *func(char *dest, const char *src, int count)   
  2. {   
  3.     char *tmp = dest;   
  4.         
  5.     while (count) {   
  6.         if ((*tmp = *src) != 0)   
  7.             src++;   
  8.         tmp++;   
  9.         count--;   
  10.     }   
  11.         
  12.     return dest;   
  13. }   

  14. //请解析 上述 代码的执行功能
复制代码
大家认真去思考,直接看答案是 学不到东西的,认真回答一下问题。 这些题目都是 找工作时面试笔试常考的问题,当然,往往是叫你自己写出源代码。

答案依旧回复可见。


  1. 直接上源代码
  2. /*   
  3. * strncpy - Copy a length-limited, %NUL-terminated string   
  4. * @dest: Where to copy the string to   
  5. * @src: Where to copy the string from   
  6. * @count: The maximum number of bytes to copy   
  7. *   
  8. * The result is not %NUL-terminated if the source exceeds   
  9. * @count bytes.   
  10. *   
  11. * In the case where the length of @src is less than that of   
  12. * count, the remainder of @dest will be padded with %NUL.   
  13. */   
  14. char *strncpy(char *dest, const char *src, size_t count)    //从 src 复制count个字符 到 dest
  15. {   
  16.     char *tmp = dest;   
  17.         
  18.     while (count) {   
  19.         if ((*tmp = *src) != 0)    //把 src 的值 复制到 dest ,如果 src 的值 非空,那么指针自加。
  20.                                    //否则 指针不加,src 后续都是指向 0 ,即字符串结束,后续的 dest值都为 0
  21.             src++;   
  22.         tmp++;                     // dest 的指针 自加
  23.         count--;                   //最大计数值 减 1
  24.     }   
  25.         
  26.     return dest;   
  27. }   
复制代码

回复

使用道具 举报

发表于 2020-5-14 09:39:57 | 显示全部楼层
我是来看答案的
回复 支持 反对

使用道具 举报

发表于 2020-5-13 21:49:48 | 显示全部楼层
strncpy      
回复 支持 反对

使用道具 举报

发表于 2020-5-13 11:49:21 | 显示全部楼层
字符串复制功能
回复 支持 反对

使用道具 举报

发表于 2020-5-12 15:48:16 | 显示全部楼层
瞅瞅............
回复

使用道具 举报

发表于 2020-5-6 14:55:01 | 显示全部楼层
看答案学习
回复 支持 反对

使用道具 举报

发表于 2020-5-6 09:18:20 | 显示全部楼层
从dest指针指向的首地址开始,和指针src的值比较,相等,则两个指针均指向下一个地址,不相等,则src不变,tmp指向下一个数,循环count次,最后返回 dest首地址
dest指针从首地址开始指向count个数使他囊括src指向的数
回复 支持 反对

使用道具 举报

发表于 2020-5-3 13:55:21 | 显示全部楼层
从源地址复制COUNT个数据到目标地址
回复 支持 反对

使用道具 举报

发表于 2020-5-3 10:22:08 | 显示全部楼层
我是来看答案的的
回复 支持 反对

使用道具 举报

发表于 2020-4-23 11:18:54 | 显示全部楼层
字符串拷贝。
回复 支持 反对

使用道具 举报

发表于 2020-4-23 09:03:09 | 显示全部楼层
?????????????????
回复

使用道具 举报

发表于 2020-4-20 20:16:37 | 显示全部楼层
1234567890
回复 支持 反对

使用道具 举报

发表于 2020-4-20 14:24:17 | 显示全部楼层
将 src指向的地址中的前 count个不为 0的数据拷贝到 dest地址中
回复 支持 反对

使用道具 举报

发表于 2020-4-16 09:04:30 | 显示全部楼层
看看答案
回复

使用道具 举报

发表于 2020-4-8 18:00:06 | 显示全部楼层
xuexi。。。。。。。。。。。。。。
回复

使用道具 举报

发表于 2020-4-4 17:59:13 | 显示全部楼层
学习学习 看不懂
回复 支持 反对

使用道具 举报

发表于 2020-4-2 23:34:56 | 显示全部楼层
看看答案是不是b
回复 支持 反对

使用道具 举报

发表于 2020-4-2 23:00:55 | 显示全部楼层
从src复制count长度字符覆盖到dst里,返回新的dst
回复 支持 反对

使用道具 举报

发表于 2020-4-2 16:51:44 | 显示全部楼层
过来看答案了
回复 支持 反对

使用道具 举报

发表于 2020-4-2 09:49:34 | 显示全部楼层
把src的值赋给temp
回复 支持 反对

使用道具 举报

发表于 2020-3-25 15:52:59 | 显示全部楼层
我是来看答案的
回复 支持 反对

使用道具 举报

发表于 2020-3-14 14:11:17 | 显示全部楼层
复制count个字
回复 支持 反对

使用道具 举报

发表于 2020-3-12 15:48:34 | 显示全部楼层
复制字符串
回复 支持 反对

使用道具 举报

发表于 2020-1-8 14:09:49 | 显示全部楼层
我是来看答案的
回复 支持 反对

使用道具 举报

发表于 2020-1-8 09:35:01 | 显示全部楼层
学习一下。。。。。。。。
回复

使用道具 举报

发表于 2020-1-3 17:18:52 | 显示全部楼层
学习。。。。。。。。
回复

使用道具 举报

发表于 2020-1-3 09:08:48 | 显示全部楼层
验证答案54321.。。。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2019-12-16 09:22:14 | 显示全部楼层
指针不熟,看答案吧
回复 支持 反对

使用道具 举报

发表于 2019-12-15 10:42:25 | 显示全部楼层
还是看看答案吧  学习学习
回复 支持 反对

使用道具 举报

发表于 2019-12-12 10:24:34 | 显示全部楼层
来看看答案
回复 支持 反对

使用道具 举报

发表于 2019-12-11 12:33:02 | 显示全部楼层
谢谢,报错呢
回复 支持 反对

使用道具 举报

发表于 2019-12-6 11:31:24 | 显示全部楼层
shenmguo
回复

使用道具 举报

发表于 2019-11-29 10:43:58 | 显示全部楼层
字符串复制
回复 支持 反对

使用道具 举报

发表于 2019-11-25 22:28:46 | 显示全部楼层
我就看看,我就看看
回复 支持 反对

使用道具 举报

发表于 2019-11-22 13:45:47 | 显示全部楼层
看看,学习一下
回复 支持 反对

使用道具 举报

发表于 2019-11-22 08:59:16 | 显示全部楼层
000000000000
回复 支持 反对

使用道具 举报

发表于 2019-11-20 09:52:06 | 显示全部楼层
.........................
回复

使用道具 举报

发表于 2019-11-18 23:05:15 | 显示全部楼层
我是来看答案的
回复 支持 反对

使用道具 举报

发表于 2019-11-15 19:43:18 | 显示全部楼层
学习一下。。。
回复

使用道具 举报

发表于 2019-11-15 19:42:55 | 显示全部楼层
学习一下。。。
回复

使用道具 举报

发表于 2019-11-14 13:56:45 | 显示全部楼层
去掉字符串中的0
回复 支持 反对

使用道具 举报

发表于 2019-11-14 10:57:00 | 显示全部楼层
类似于字符串拷贝函数:即将一段字符串中的指定个字符拷贝到另一段地址处。
回复 支持 反对

使用道具 举报

发表于 2019-11-13 20:54:32 | 显示全部楼层
把src中cout个字符非0的数据赋值给dest
回复 支持 反对

使用道具 举报

发表于 2019-11-13 15:17:23 | 显示全部楼层
看下答案~~~~~~~~~~~
回复

使用道具 举报

发表于 2019-11-12 18:54:28 | 显示全部楼层
让我康康HHHHHHH
回复 支持 反对

使用道具 举报

发表于 2019-11-12 18:47:24 | 显示全部楼层
我猜结果是倒序复制
回复 支持 反对

使用道具 举报

发表于 2019-11-12 16:51:04 | 显示全部楼层
我是来看答案的
回复 支持 反对

使用道具 举报

发表于 2019-11-11 13:18:39 | 显示全部楼层
学习学习..
回复

使用道具 举报

发表于 2019-11-8 15:02:29 | 显示全部楼层
看看!!!
回复

使用道具 举报

发表于 2019-10-25 12:06:26 | 显示全部楼层
该函数返回的是字符型指针类型,参数有两个指向字符的指针和一个整型数,作用是判断dest里存在src字符段的位置
回复 支持 反对

使用道具 举报

发表于 2019-10-24 11:42:36 | 显示全部楼层
这个简单!!!!!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-20 10:36 , Processed in 0.044759 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表