c语言指针的题,搞得小弟我头大了,求侠哥侠姐帮忙
c语言指针的题,搞得我头大了,求侠哥侠姐帮忙。
#include <stdio.h>
main()
{ int a,b,c,d;
scanf( "%d%d ",&a,&b);
c=gbs(a,b);
d=gys(a,b);
printf( "a=%d b=%d gbs=%d gys=%d\n ",a,b,c,d);
}
gbs(a,b)
int a,b;
{ int c;
a=a> 0?a:-a;
b=b> 0?b:-b;
c=a*b;
if(c==0) return(0);
while(a!=b) if(a> b) a-=b;
else b-=a;
return(c/a);
}
gys(a,b)
int a,b;
{ if(a*b==0) return(0);
a=a> 0?a:-a;
b=b> 0?b:-b;
while(a!=b) if(a> b) a-=b;else b-=a;
return(a);
}
在输入27 63 结果是a=27 b=63 gbs=189 gys=9对gbs=189这个结果百思不得其果。
2.请读程序:
#include <stdio.h>
void fun(float *p1l, float *p2, float *s)
{ s=( float * )calloc( 1, sizeof(float));
*s=*p1+ *(p2++);
}
main()
{ float a[2]={1.1, 2.2}, b[2]={10.0, 20.0}, *s=a;
fun(a, b, s)
printf( "%f\n ",*s);
}
上面程序的输出结果是1.100000搞不懂啊
#include <stdio.h>
main()
{ char s1[10], s2[10], s3[10], s4[10];
scanf( "%s%s ",s1,s2); gets(s3); gets(s4);
puts(s1); puts(s2); puts(s3); puts(s4);
}
输入数据如下:(此处 <CR> 代表回车符)
aaaa bbbb <CR>
cccc dddd <CR>
A) aaaa B) aaaa
bbbb bbbb
cccc
#include <stdio.h>
main()
{ int a,b,c,d;
scanf( "%d%d ",&a,&b);
c=gbs(a,b);
d=gys(a,b);
printf( "a=%d b=%d gbs=%d gys=%d\n ",a,b,c,d);
}
gbs(a,b)
int a,b;
{ int c;
a=a> 0?a:-a;
b=b> 0?b:-b;
c=a*b;
if(c==0) return(0);
while(a!=b) if(a> b) a-=b;
else b-=a;
return(c/a);
}
gys(a,b)
int a,b;
{ if(a*b==0) return(0);
a=a> 0?a:-a;
b=b> 0?b:-b;
while(a!=b) if(a> b) a-=b;else b-=a;
return(a);
}
在输入27 63 结果是a=27 b=63 gbs=189 gys=9对gbs=189这个结果百思不得其果。
2.请读程序:
#include <stdio.h>
void fun(float *p1l, float *p2, float *s)
{ s=( float * )calloc( 1, sizeof(float));
*s=*p1+ *(p2++);
}
main()
{ float a[2]={1.1, 2.2}, b[2]={10.0, 20.0}, *s=a;
fun(a, b, s)
printf( "%f\n ",*s);
}
上面程序的输出结果是1.100000搞不懂啊
#include <stdio.h>
main()
{ char s1[10], s2[10], s3[10], s4[10];
scanf( "%s%s ",s1,s2); gets(s3); gets(s4);
puts(s1); puts(s2); puts(s3); puts(s4);
}
输入数据如下:(此处 <CR> 代表回车符)
aaaa bbbb <CR>
cccc dddd <CR>
A) aaaa B) aaaa
bbbb bbbb
cccc