1、功能描述
实现数值的,四字节对齐,若数值是4的倍数,则不变;若不是4的倍数则改变;
2、结果显示
如下所示:7四字节对齐后是8;8四字节对齐后是8;
[root@localhost 20190613]# ./11 7
iLen = 7
iRecvLen = 1
iLen = 8
[root@localhost 20190613]# ./11 8
iLen = 8
iRecvLen = 0
iLen = 8
3、代码实现
[root@localhost 20190613]# cat 11.c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
int iLen = 0;
int iRecvLen = 0;
iLen = atoi(argv[1]);
/*转换之前的数值*/
printf("iLen = %d\n", iLen);
/*四字节对齐,还差几?*/
iRecvLen = (4 - iLen % 4) % 4;
printf("iRecvLen = %d\n", iRecvLen);
/*四字节对齐后的数值。能被四整除则不变,不能则改变*/
iLen = iRecvLen + iLen;
printf("iLen = %d\n", iLen);
return 0;
}