鱼C论坛

 找回密码
 立即注册
查看: 1842|回复: 7

[已解决]为什么运行不起来?

[复制链接]
发表于 2018-8-15 14:49:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 claws0n 于 2018-9-12 13:20 编辑
  1. #include <stdio.h>

  2. char myitoa(int ,char *);

  3. char myitoa(int num,char*str)
  4. {
  5.         int n=0;
  6.         char s[10];
  7.         int i,j,k,l;
  8.         char m;
  9.        
  10.         if(num<0)
  11.         {
  12.                 str[n]='-';
  13.                 num*=-1;
  14.                 n++;
  15.         }
  16.         j=num;
  17.         for(i=0;(num!=0);i++)
  18.         {
  19.                 k=num%10;
  20.                 num/=10;
  21.                 m='0'+(k-0);
  22.                 s[i]=m;
  23.         }
  24.         s[i]=m;
  25.         j=i;
  26.         for(l=0;l<i;l++,j--)
  27.         {
  28.                 str[n+j-1]=s[l];
  29.         }
  30.         str[n+i]='\0';
  31.         return str;
  32. }

  33. int main()
  34. {
  35.         char str[10];

  36.         printf("%s\n",myitoa(-12345,str));
  37. }
复制代码
最佳答案
2018-9-8 10:36:22
char  换为 char *  你定义的函数是  char  类型  返回的却是char *
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-8-15 14:51:43 | 显示全部楼层
我把myitoa改成void型然后直接这样又正常了
  1. int main()
  2. {
  3.         char str[10];
  4.         myitoa(-12345,str);
  5.         printf("%s\n",str);
  6. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-15 15:19:23 | 显示全部楼层
向上的蜗牛 发表于 2018-8-15 14:51
我把myitoa改成void型然后直接这样又正常了

你的程序要做什么的?架构有问题~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-15 15:48:09 | 显示全部楼层
claws0n 发表于 2018-8-15 15:19
你的程序要做什么的?架构有问题~

哪里构架问题啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-15 15:49:42 | 显示全部楼层

整形转字符型?感觉有不必要的操作~
编译器会提出警告
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-15 16:12:54 | 显示全部楼层
claws0n 发表于 2018-8-15 15:49
整形转字符型?感觉有不必要的操作~
编译器会提出警告

这道题题目要求意思简单模拟下itoa函数,然后我构思成这样了
这是编译器给我警告
  1. [Warning] initialization makes pointer from integer without a cast
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-15 17:27:45 | 显示全部楼层
向上的蜗牛 发表于 2018-8-15 16:12
这道题题目要求意思简单模拟下itoa函数,然后我构思成这样了
这是编译器给我警告

你这是传址函数呀(指针),但返回确实字符型,33 应该 return *str
但是你设计的架构有点毛病,一时间说不上
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-8 10:36:22 | 显示全部楼层    本楼为最佳答案   
char  换为 char *  你定义的函数是  char  类型  返回的却是char *
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-10 03:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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