【发布时间】:2023-02-04 13:56:27
【问题描述】:
刚开始学习,书上看不懂,求教。 我是初学者,英语不好。 功能:将两个两位数的正整数A和B组合成C中的一个整数 中间。合并的方法是:A号的十位和个位数放在C号的千位和十位上,B号的十位和个位放在C号的个位和百位上数字。 例如:当a=45时,b=12。调用此函数后,c=4251。这是我的代码
#include <stdio.h>
void fun(int a, int b, long *c);
int main()
{
int a,b;
long c;
int state = 1;
printf("Enter a: ");
printf("(q to quit)");
while( scanf("%d",&a)==state)
{
printf("Enter b: ");
printf("(q to quit)");
while( scanf("%d",&b)==state)
{
fun(a, b, c);
printf("The result is: %ld\n", c);
}
}
return 0;
}
void fun(int a, int b, long *c)
{
/**********Program**********/
*c = 100*(a%100)+b%100;
/********** End **********/
}
我试着去掉*,发现结果是16。这是错误的,但不知道为什么
【问题讨论】:
标签: c