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

相关推荐
李宥小哥11 小时前
Redis10-原理-网络模型
开发语言·网络·php
利刃大大11 小时前
【c++中间件】语音识别SDK && 二次封装
开发语言·c++·中间件·语音识别
同学小张17 小时前
【端侧AI 与 C++】1. llama.cpp源码编译与本地运行
开发语言·c++·aigc·llama·agi·ai-native
踢球的打工仔17 小时前
PHP面向对象(7)
android·开发语言·php
汤姆yu20 小时前
基于python的外卖配送及数据分析系统
开发语言·python·外卖分析
Yue丶越20 小时前
【C语言】字符函数和字符串函数
c语言·开发语言·算法
翔云 OCR API20 小时前
人脸识别API开发者对接代码示例
开发语言·人工智能·python·计算机视觉·ocr
V***u45320 小时前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言
这是程序猿21 小时前
基于java的ssm框架旅游在线平台
java·开发语言·spring boot·spring·旅游·旅游在线平台
芳草萋萋鹦鹉洲哦21 小时前
【elemen/js】阻塞UI线程导致的开关卡顿如何优化
开发语言·javascript·ui