当前位置: 代码迷 >> C语言 >> 几个简单C问题.
  详细解决方案

几个简单C问题.

热度:184   发布时间:2006-02-12 11:08:00.0
几个简单C问题.

1.exp 函数是什么作用? 能否用数学表达式表达
2. log 函数是什么作用?能否用数学表达式表达.
3.对共用体的概念挺模糊的,大家对共用体的理解?
4.例:
#include "stdio.h"
int s();
int x,y;
main ()
{
int n;
x=1;y=2;
n=s();
printf ("x=%d,y=%d,n=%d",x,y,n);
}
int s()
{
int z;
x=3;y=4;
z=x+y;
return(z);
}

怎么理解该题? return的意思是把Z值返回到 main函数中,是吗? 如果没有return, n=0对吧?

5.如何理解该题
main()
{
union{short a;char ch;}M;
M.a=100;m.ch='A';
printf ("%d,%d,%c \n",sizeof(M),M.a,M.ch);
}

6.如何理解该题
main ()
{
union
{
int i;
struct
{
char first;
char second;
}sql_1;
}number;
number.i=0x4445;
printf ("%c%c\n",number.sql_1.first,number.sql_1.second);
number.sql_1.first='c';
number.sql_1.sencond='d';
printf ("%x\n",number.i);
}

搜索更多相关的解决方案: include  return  表达式  

----------------解决方案--------------------------------------------------------
1 exp指数函数
2 log对数函数
3 。。。。。。
4 return是把Z指返回到main中去 但如果没有return n等于7
你可以在printf ("x=%d,y=%d,n=%d",x,y,n);后面加一个getch();就知道拉


5 可以把上面的程序改写为:
main()
{
short a;
char ch;
a=100;
ch='A';
......

M.a相当于a
M.ch相当于ch

sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。

6 同5


----------------解决方案--------------------------------------------------------
1、2作用我想你是知道的,你可以看库函数,他两是怎么实现功能的;
3、union不同于struct,因为它们共用一块存储区域,
union a
{int a ;
char b;
double c;
} ;/*他们占的空间为double的,也就是最大占位,由编译器进行优化,结构体就不同*/


----------------解决方案--------------------------------------------------------
1 - 2 题,书上无解是.是说是指数函数与对数函数.所以不是很清楚是干吗的.
如 exp(8.0)=2980.957987 怎么算的?
log (5.8928)=1.773731 怎么算的?

4题 return(z); 这句可要可不要,两个输出结果都一样.不明白 return有何作用. 加个 getch();结果还是一样.


----------------解决方案--------------------------------------------------------
5 题输出结果是

2,65,A 如何理解?
----------------解决方案--------------------------------------------------------

Exp returns the value of e raised to the power of X, where e is the base of the natural logarithms.

return没有结果一样,那是你最后一个算式结果,如果你有2个结果,你想返回哪个?
z1=x-y;
z2=x+y;
他返回最后一个算式

union,你使用的值,是最后一次出现的!因为他们公用存储空间!


----------------解决方案--------------------------------------------------------

函数还是不明白,能否以数学表达式说明?

return 还是不明白,能否以程序方式说明下?

^_^ 辛苦了


----------------解决方案--------------------------------------------------------

return的问题以前和knocker、天使他们争论过。现在不记得了。

因为函数都是用栈传递参数值的,所以如果不用return,那么s将会返回最后一个利用到栈的运算


----------------解决方案--------------------------------------------------------

int fun()
{
int a=1,b;
b=a+a;
}

main()
{
printf("%d",fun());
getch();
}

比如这个
哎~~好象感觉解释得不对~~~~我也忘记了~郁闷


----------------解决方案--------------------------------------------------------
六个问题,我一个也没明白下来..
----------------解决方案--------------------------------------------------------
  相关解决方案