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函数特有的性质,即从后向前计算。

相关推荐
mount_myj44 分钟前
长长久久【C语言】
c语言
九转成圣2 小时前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
SmartRadio2 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
laowangpython2 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
我叫汪枫2 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
_.Switch2 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
软件技术NINI2 小时前
webkit简介及工作流程
开发语言·前端·javascript·udp·ecmascript·webkit·yarn
Brendan_0012 小时前
JavaScript的Stomp.over
开发语言·javascript·ecmascript
念2342 小时前
f5 shape分析
开发语言·javascript·ecmascript
苍穹之跃2 小时前
某量JS逆向
开发语言·javascript·ecmascript