如题,C语言-当打开文件不成功时,该如何处理?
(此处为凑字数而写与题无关)
一般来说打开不成功会返回一个空文件指针,这个时候输出提示信息,终止程序运行。
FILE* fp = fopen("你的文件", "r");
if (fp == NULL)
{
printf("文件无法打开");
exit(0);
}
右移操作符相对复杂一点。分为逻辑移位和算术移位。在转换成二进制时,二进制的第一个数字表示正负,即当第一个数字为0时,该数字为正,为1时,该数字为负
例如:
✏️小知识:整数的二进制表示有三种方式:原码,反码,补码。
正整数的原码,反码和补码相同。
负整数的原码,反码和补码不相同。
其中在存储时候,存储的是补码。
移位规则:
左边用0填充,右边丢弃
#include<stdio.h>
int main()
{
int num = -2;
int a = num >> 1;
printf("%d", a);
return 0;
}
移位规则:
左边用原该值的符号位填充,右边丢弃
#include<stdio.h>
int main()
{
int num = -2;
int a = num >> 1;
printf("%d", a);
return 0;
}
小沐用的编译器支持的是算术右移。
警告⚠ :
对于移位运算符,不要移动负数位,这个是标准未定义的。(浮点数也不行)
例如:
int num = 10;
num>>-1;//error
右移一位相当于除与2。