求教一道C语言题目,谢谢大家啦。

2025-01-02 18:50:25
推荐回答(4个)
回答1:

楼主你好

21. 下列选项中合法的函数说明语句是()。
A) double func( int a, int b );
B) double func( int a, b );
C) double func( a, int b );
D) double func( a, b );

22. 设有定义int a[]={1,3,5,7,9},*p=a;结果为7的表达式是()。
A) *(p+3)
B) *(p+4)
C) *p+3
D) *p+4

23. 设有定义int m, n, *p; 与语句“m=n;”等价的语句是()。

A) p=&n; m=*p;

B) p=&m; n=*p;

C) p=*n; m=*p;

D) p=*m; n=*p;

24. 设有定义int m=2,n=5,*p=&n;则语句“m=*p;”的结果是()。
A) 指针p指向m
B) 变量m的值变为5
C) 变量n的值变为2
D) 指针p指向m,同时变量m的值变为5

25. 设有说明int n; char str[80];与函数调用:n=hex2dec(str); 则函数hex2dec正确的函数说明应该是:()。

A) int hex2dec(char str[]);

B) void hex2dec(char str[]);

C) int hex2dec(char str);

D) void hex2dec(char str);

26. 设有定义char *p[]={"Shanghai","Beijing","Honkong"};则结果为'j'字符的表达式是()。
A) p[3][1]
B) *(p[1]+3)
C) *(p[3]+1)
D) *p[1]+3

回答2:

改成这样就好了,划红线的地方要改

回答3:

//你只是交换了地址,并没有交换值,修改如下
#include
void swap(int *a,int *b)
{
int t;
t=*a; *a=*b; *b=t;
}
main()
{
int i=3, j=5, *p=&i, *q=&j;
swap(p,q);
printf("%d %d\n",*p,*q);
}

回答4:

void swap(int *a,int *b)
{
int t;
t=*a; *a=*b; *b=t;
}

应该是这样才行。