wordpress重复网站/百度指数分析报告
在 Linux 操作系统中文件的权限可以通过 rwx 的方式来表示,r 表示可读,w 表示可写,x 表示可执行。
在操作系统实现这个功能时,采用的方式是按位存储的。当我们不给任何权限时,存储表现为三个二进制位 0,如果可读则第一位会变成 1、如果可写则第二位会变成 1、如果可执行则第三位会变成 1。例如
如果可读、可写、可运行,就表示为二进制的 111111,转换成十进制就是 77。
如果可读、可写、不可运行,就表示为二进制的 110110,转换成十进制就是 66。
如果可读、不可写、可运行,就表示为二进制的 101101,转换成十进制就是 55。
在这题中,我们会得到文件当前的权限和希望添加或删除的权限(如果已经对存在/不存在的权限添加/删除则不做改变)。你需要输出最终改变后的权限的十进制描述。
提示 1:r,w,x 的顺序是不会改变的,不会出现 r 出现在 w 后或 x 出现在 w 之前一类的情况
答案自己写的,不知道有没有漏洞
#include <stdio.h>
int main() {int mod = 0;;char n ;; int i = 0;while(scanf("%c", &n) != EOF){if (n == '-') i = -1;else if(n == '+')i = 0;if (i == -1) {switch(n){case 'r':mod = mod & 0x3;break;case 'w':mod = mod & 0x5;break;case 'x':mod = mod & 0x6;break;}}else {switch(n){case 'r':mod = mod | 0x4;break;case 'w':mod = mod | 0x2;break;case 'x':mod = mod | 0x1;break; } }}printf("%d\n", mod);return 0;
}