c语言问题,大家速度进,明天要机试了!~20分悬赏啊

来源:百度知道 编辑:UC知道 时间:2024/06/19 03:05:29
#include<stdio.h>
#include<conio.h>
#define N 80
char str[N];
void fun(long int n)
{
int i=0;
while(n>0)
{
str[i]=n%10+'0';
n/=10;
i++;
}
str[i]='\0';
}
main()
{
long int n=13572468;
clrscr();
printf("****** the origial data ********\n");
printf("n=%ld",n);
fun(n);
printf("\n%s",str);
}

看不懂fun函数里面的东西,说是整数转换成字符串??大家帮忙解释看看啊,只要解释fun函数里面的就可以了,我能理解的加分感谢!~

n%10+'0'的意思是n%10得到的是一个整型的实数,而加上‘0’就变成了字符了;n/10意思是去掉n的最后一位数, 然后继续前面的循环,

这是一个整数转换成字符类型的函数,在C语言里,整数和字符是可以互换的,标准就是ASCII码.
1 2 3 4 5 6 7 8 9在C语言里有两种类型,一种是字符型的,与字母性质一样,不能参与运算,还有一种是纯数字,可以参与运算
你这个题目意思是这样的,首先判断出这个数是不是正数,如果是正数的话求出对应这个数的字符型数(ASCII码是连续的,字符'0'+1便是字符'1',+2便是字符'2',依次类推,就可以明白这个题的意思了)