C语言程序例题

1、代码改错——函数指针的使用
#include <stdio.h>  
 
int max(int x, int y)  
{  
return (x > y ? x : y);  
}  
 
int main()  
{  
int *p;                               //int (*p)(int ,int)定义指针类型错误
int a, b, c;  
int result;  
int max(x, y);                        //声明错误 int max (int x,int y)  
 
p = max;                              //p=&max 取函数的地址  
printf("Please input three integer");  
scanf("%d%d%d", &a, &b, &c);  
result = (*p)((*p)(a, b), c);  
printf("result = %d\n", result);  
 
return 0;  
}


2、看代码写输出——函数指针的使用
#include <stdio.h>  
 
int add1(int a1, int b1)  
{  
return a1+b1;  
}  
 
int add2(int a2, int b2)  
{  
return a2+b2;  
}  
 
int main()  
{  
int numa1 = 1, numb1 = 2;  
int numa2 = 2, numb2 = 3;  
int (*op[2])(int a, int b);  
op[0] = add1;  
op[1] = add2;  
printf("%d %d\n", op[0](numa1, numb1), op[1](numa2, numb2));  
getchar();  
 
return 0;  
}   

结果为 3,5

3、看代码写结果——位运算
#include <stdio.h>  
 
int main()  
{  
unsigned short int i = 0;  
unsigned char ii = 255;  
int j = 8, p, q;  
 
p = j << 1;  
q = j >> 1;  
i = i - 1;  
ii = ii + 1;  
printf("i = %d\n", i);  
printf("ii = %d\n", ii);  
printf("p = %d\n", p);  
printf("q = %d\n", q);  
 
return 0;  
}


unsigned short int=0  范围0~65535   i=i-1  i=65535
unsigned char ii=255  范围0~255     ii=ii+1  ii=0
00001000   00010000   p=16
00001000   00000100   q=4





4、写出下面代码的效果
#include <stdio.h>  
 
int main()  
{  
int a = 3, b = 5;  //0011  0101
printf("a = %d\tb = %d\n", a, b);    
a ^= b;//a=a^b   0011 0101 = 0110  
b ^= a;  //b=b^a   0101  0110 = 0011
a ^= b; //a=a^b     0110 0011 = 0101 
 
printf("a = %d\tb = %d\n", a, b);   //a=0101=5,b=0011=3
return 0;  
}  
结果
a=3,b=5;
a=5,b=3。
通过异或运算来实现交换数值大小 

5、32位系统,给定结构体,问 sizeof(A) = ( B )
struct A
{
char t:4;
char k:4;//t+k=1字节
unsigned short i:8;//2字节
unsigned long m;//4字节
}
A、7 B、8 C、9 D、10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值