C语言错题本

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

9月13日
题一

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

题二

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

将代码改成这样就可以了

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

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

题五

声明"char s120="张三56";"后,使字符串s1为"张三"的赋值表达式为 ++++s14=++++ ++++'++++ ++++\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函数特有的性质,即从后向前计算。

相关推荐
不正经学生42 分钟前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技1 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
恋恋西风3 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx3 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_4 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_4 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
xiaobobo33305 小时前
c语言中for循环条件中定义临时栈变量的作用域
c语言·for循环条件定义栈变量·大括号作用域·独立栈变量
geovindu5 小时前
CSharp: 万年历
开发语言·后端·c#·.net
我找到地球的支点啦5 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
予昊5 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket