C语言错题本

本学渣在一个人学习的途中遇到过许多问题 如果没有老师的帮助可能很长时间都走不出来 所以我也希望我的错误能帮助到你

9月13日
题一

未赋值的局部指针是野指针(C)

题二

PS:对于指针来说,传递的是指针值的副本,point 函数内部对 p 的任何修改都不会影响到调用者(即 main 函数)中的原始指针 p。

将代码改成这样就可以了

题三
  1. %2d和%-2d(左对齐 右对齐)
  2. 12 4 12 回车也算在里面了
题四

C语言的标识符可分为 关键字 用户标识符 预定义标识符

题五

声明"char s1[20]="张三56";"后,使字符串s1为"张三"的赋值表达式为 ++++s1[4]=++++ ++++'++++ ++++\0++++ ++++'++++ ++++;++++ 。

中文字符占两个字节

9月14日
题一

s并非指向这个二维数组 *s=(char*)a 改变了步长 将(char *[3])强转成char类型

所以*++s其实结果是d char类型的d-2=b

题二

数组名是常量!! 不可以进行赋值操作

9月17日
题一

若变量已正确定义并赋值,表达式 -k++ 等价于______。
A.-(k++) B.(-k)++ C.-(k+1) D.-(++k)
答案:A,-(负号而不是减号)与++优先级相同,结合性从右至左。

题二

下列程序段的输出结果是 。
int m = 1, n = 2, *ptr1 = &m, *ptr2 = &n;
printf("%d %d %d %d", *ptr1, *ptr2, *ptr1= *ptr1 + *ptr2,*ptr1 =*ptr1 + *ptr2) ;
A. 1 2 1 1 B. 1 2 3 3 C.5 2 5 3 D. 1 2 3 5
答案:C。注意这里并不是逗号表达式,而是printf函数特有的性质,即从后向前计算。

相关推荐
小春学渗透几秒前
Day107:代码审计-PHP模型开发篇&MVC层&RCE执行&文件对比法&1day分析&0day验证
开发语言·安全·web安全·php·mvc
杜杜的man3 分钟前
【go从零单排】迭代器(Iterators)
开发语言·算法·golang
亦世凡华、4 分钟前
【启程Golang之旅】从零开始构建可扩展的微服务架构
开发语言·经验分享·后端·golang
测试界的酸菜鱼18 分钟前
C# NUnit 框架:高效使用指南
开发语言·c#·log4j
GDAL18 分钟前
lua入门教程 :模块和包
开发语言·junit·lua
李老头探索19 分钟前
Java面试之Java中实现多线程有几种方法
java·开发语言·面试
CSXB9921 分钟前
三十四、Python基础语法(文件操作-上)
开发语言·python·功能测试·测试工具
web Rookie41 分钟前
JS类型检测大全:从零基础到高级应用
开发语言·前端·javascript
很楠不爱1 小时前
Qt——窗口
开发语言·qt
yi碗汤园1 小时前
【一文了解】C#基础-集合
开发语言·前端·unity·c#