c++牛客网刷题 day3
来源:互联网 发布:宽带多重网络怎么回事 编辑:程序博客网 时间:2024/06/03 12:54
- C语言中,逗号优先级最低
- “C程序中的#include和#define均不是C语句” 是正确的
- 指针形参:函数中可以改变指针指向的值,但是不会改变指针自己的地址
EX:
void reset(int *p)
{
p = 0; // p指针值的改变仅限于局部
*p = 0; //p指向的值会改变
}
main()
{
int i = 42;
int *ip = &i;
reset(ip);
}
⚠️ 普通形参加不加const限定符对实参没有影响,引用形参和指针形参前面没有const限定符时,实参必须是非const的,而前面有const限定符时对实参也没有什么影响。
为什么会出现这种情况?
原因在于实参的传递方式不同,函数中的形参是普通形参的时,函数只是操纵的实参的副本,而无法去修改实参,实参会想,你形参反正改变不了我的值,那么你有没有const还有什么意义吗?引用形参和指针形参就下不同了,函数是对实参直接操纵,没有const的形参时实参的值是可以改变的,这种情况下怎能用函数来操纵const实参呢。
我一直这样记忆:“对于变量的约束,允许加强,当绝对不能削弱.....”
例如:实参是const,那么形参如果是非const意味着可以在函数体中改变形参的值,使约束削弱了所以不行。对于使用&,自然也是这个道理。同样的,指针里面的const也是这个样子的,如果让非const指针指向了const对象的地址,那么必然是无法通过编译的,因为如果这样做了,意味着可以通过这个指针改变本该是const的值了,显然是使约束削弱了
----------
if(x=0)
这个是把x赋值为0再判断,这个if永远不会成立
if(x==0)这个是判断x是不是等于0的
if(0<x<1)
这个表达式是先让0和x比较
0<x这个表达式的值不是0就是1
然后再用这个结果和1比较
if(x>0&&x<1)这个才是判断x是不是在0和1之间的
- %取余; /得到结果(为整数)
- 在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。
- 此题看不懂,先马克:链接:https://www.nowcoder.com/questionTerminal/2fd94d94ccca407dbc82e705c1f1ecbc
来源:牛客网
char
*c[] = {
"ENTER"
,
"NEW"
,
"POINT"
,
"FIRST"
};
char
**cp[] = { c+
3
, c+
2
, c+
1
, c };
char
***cpp = cp;
int
main(
void
)
{
printf(
"%s"
, **++cpp);
printf(
"%s"
, *--*++cpp+
3
);
printf(
"%s"
, *cpp[-
2
]+
3
);
printf(
"%s\n"
, cpp[-
1
][-
1
]+
1
);
return
0
;
}
POINTERSTEW
FERSTEPOINW
NEWPOINTW
POINTFIREST
http://blog.csdn.net/jason314/article/details/5640969
- C语言day3
- objective-C:Day3~Day4
- c语言学习日志 day3
- c++牛客网刷题 day3
- day3
- DAY3
- DAY3
- day3
- day3
- day3
- day3
- Day3
- day3
- day3
- Day3
- DAY3
- Day3
- DAY3
- Foo bar 什么鬼?
- Java POI生成一个指定模板的.xlsx文件
- [BZOJ]4991: [Usaco2017 Feb]Why Did the Cow Cross the Road III CDQ分治+树状数组
- 高斯滤波原理及实现
- [LC]657. Judge Route Circle
- c++牛客网刷题 day3
- Django settings.py installd_apps的坑……卧槽
- 基于stream开发java插件
- ADO.NET 数据访问
- 线程间的通信、同步方式与进程间通信方式
- RAM 大全-DRAM, SRAM, SDRAM的关系与区别
- 图的宽度优先搜索(BFS)以及C++队列知识复习
- 如何开发数字货币钱包安装使用教程使用教程图解
- S10泛型算法