野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13442|回复: 4

关于函数itoa()返回值的问题

[复制链接]
发表于 2014-11-24 16:11:07 | 显示全部楼层 |阅读模式
本帖最后由 inkfishg 于 2014-11-24 16:17 编辑

《stm32库开发实战指南》Page105中有一段代码是这么写的
1.jpg 函数itoa()是这么写的:
static char *itoa(int value,char *string,int radix)
{
  int i,d;
  int flag=0;
  char *ptr=string;
  if(radix!=10)
    {
       *ptr=0;
       return string;
    }
    ......//不细写了
return string;   
}

这里用的时候为什么不是a=itoa(d,buf,10)这样的形式呢,直接就自成一条语句,下面的直接就用s=buf,难道返回值返回到的不是整个函数而是返回给参数了???没理解啊~~~



回复

使用道具 举报

发表于 2014-11-24 16:21:15 | 显示全部楼层
当作把它的返回值掉弃了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-24 16:35:20 | 显示全部楼层
刀_口 发表于 2014-11-24 16:21
当作把它的返回值掉弃了

意思是只执行这个函数,不要它的返回值了,在执行itoa()这个函数的后,string开头的指针指向的内容由十进制数编程了字符串,所以后面可以直接用s=buf,是这样么?
回复 支持 反对

使用道具 举报

发表于 2014-11-25 11:02:46 | 显示全部楼层
inkfishg 发表于 2014-11-24 16:35
意思是只执行这个函数,不要它的返回值了,在执行itoa()这个函数的后,string开头的指针指向的内容由十进 ...

大概是这意思吧,就是将BUF的地址给了S,然后for
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-27 17:12:52 | 显示全部楼层
刀_口 发表于 2014-11-25 11:02
大概是这意思吧,就是将BUF的地址给了S,然后for

哦哦~~~Thank you
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-28 15:10 , Processed in 0.035740 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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