为什么运行不起来?
本帖最后由 claws0n 于 2018-9-12 13:20 编辑#include <stdio.h>
char myitoa(int ,char *);
char myitoa(int num,char*str)
{
int n=0;
char s;
int i,j,k,l;
char m;
if(num<0)
{
str='-';
num*=-1;
n++;
}
j=num;
for(i=0;(num!=0);i++)
{
k=num%10;
num/=10;
m='0'+(k-0);
s=m;
}
s=m;
j=i;
for(l=0;l<i;l++,j--)
{
str=s;
}
str='\0';
return str;
}
int main()
{
char str;
printf("%s\n",myitoa(-12345,str));
} 我把myitoa改成void型然后直接这样又正常了{:10_284:}
int main()
{
char str;
myitoa(-12345,str);
printf("%s\n",str);
} 向上的蜗牛 发表于 2018-8-15 14:51
我把myitoa改成void型然后直接这样又正常了
你的程序要做什么的?架构有问题~ claws0n 发表于 2018-8-15 15:19
你的程序要做什么的?架构有问题~
哪里构架问题啊{:10_255:} 向上的蜗牛 发表于 2018-8-15 15:48
哪里构架问题啊
整形转字符型?感觉有不必要的操作~
编译器会提出警告 claws0n 发表于 2018-8-15 15:49
整形转字符型?感觉有不必要的操作~
编译器会提出警告
这道题题目要求意思简单模拟下itoa函数,然后我构思成这样了{:10_255:}
这是编译器给我警告{:10_255:} initialization makes pointer from integer without a cast 向上的蜗牛 发表于 2018-8-15 16:12
这道题题目要求意思简单模拟下itoa函数,然后我构思成这样了
这是编译器给我警告
你这是传址函数呀(指针),但返回确实字符型,33 应该 return *str
但是你设计的架构有点毛病,一时间说不上 char换为 char *你定义的函数是char类型返回的却是char *
页:
[1]