楼主你好
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
改成这样就好了,划红线的地方要改
//你只是交换了地址,并没有交换值,修改如下
#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);
}
void swap(int *a,int *b)
{
int t;
t=*a; *a=*b; *b=t;
}
应该是这样才行。