关于第29课课后作业动动手
第0题定义函数这里char *myitoa(int num, char *str);这个*myitoa 的*是什么意思?甲鱼老师讲的 类型名 函数名(参数列表) 格式*myitoa应该是个名字,但是去掉*会报错,不太明白,望大神指点
#include <stdio.h>
char *myitoa(int num, char *str);
char *myitoa(int num, char *str)
{
int dec = 1;
int i = 0;
int temp;
if (num < 0)
{
str = '-';
num = -num;
}
temp = num;
while (temp > 9)
{
dec *= 10;
temp /= 10;
}
while (dec != 0)
{
str = num / dec + '0';
num = num % dec;
dec /= 10;
}
str = '\0';
return str;
}
int main(void)
{
char str;
printf("%s\n", myitoa(520, str));
printf("%s\n", myitoa(-1234, str));
return 0;
} 表示这个函数的返回值是一个指针,前面是char
所以返回的是 char *
从函数的return来看,就是返回一个字符数组的地址 BngThea 发表于 2017-12-26 10:33
表示这个函数的返回值是一个指针,前面是char
所以返回的是 char *
从函数的return来看,就是返回一个字 ...
void swap(int *x, int *y );
void swap(int *x , int *y)
{
int temp;
printf("swap互换前x=%d,y=%d\n",*x,*y);
temp = *x;
*x=*y;
*y=temp;
printf("swap互换后x=%d,y=%d\n",*x,*y);
这个是老师上课讲的例子,是因为没有返回值所以就不需要在函数名哪里加上*,这个理解对吗?谢谢 土沙拉 发表于 2017-12-26 10:51
void swap(int *x, int *y );
void swap(int *x , int *y)
对
返回值根据你的需求进行设置
之前你的代码中因为需要返回一个字符串,所以用char* 作为返回值类型 BngThea 发表于 2017-12-26 11:08
对
返回值根据你的需求进行设置
之前你的代码中因为需要返回一个字符串,所以用char* 作为返回值类型
谢谢,明白了
页:
[1]