写自定义函数时不知道哪里出错了,下面是函数的任务:
返回一个包含分数表示法的字符串,例如 "3/8"。(必须用sprintf)
typedef struct
{
int zaehler;
int nenner;
}bruch;
char *inStringUmwandeln(bruch b)
{
char *str;
sprintf(str, "%d/%d", b.zaehler,b.nenner);
return str;
}
写自定义函数时不知道哪里出错了,下面是函数的任务:
返回一个包含分数表示法的字符串,例如 "3/8"。(必须用sprintf)
typedef struct
{
int zaehler;
int nenner;
}bruch;
char *inStringUmwandeln(bruch b)
{
char *str;
sprintf(str, "%d/%d", b.zaehler,b.nenner);
return str;
}
char *inStringUmwandeln(char *buf, bruch b)
{
// char *str; //光有指针,没有分配内存
sprintf(buf, "%d/%d", b.zaehler, b.nenner);
return buf;
}
int main()
{
bruch b = {3, 8};
char buf[100] = {0};
inStringUmwandeln(buf, b);
printf("%s", buf);
return 0;
}