当前位置: 首页 > article >正文

c语言几道易错题

1、猜其打印结果

int main()
{
	int i = 0;
	i--;

	if (i > sizeof(i))
		printf(">");
	else
		printf("<");


	return 0;
}

结果是“>” ,因为sizeof操作符的结果其实是无符号型,这个时候signed要进行算术转换,变成unsigned,-1【1111111111111111111111111111111】在无符号int中对应的是极大的值,远大于1

所以结果是">"

一个表达式中既有有符号又有无符号,会将有符号转换为无符号,进行运算,就是向上转换

算术转换
intunsigned intlong intunsigned long intfloatdouble

long double

—————————————————————————————————————————>>>

                                                          向上提升

2、求a,b,c 的值

int main()
{
	int a, b, c;
	a = 5;
	c = ++a;
	b = ++c, c++, ++a, a++;
	b += a++ + c;

	printf("%d %d %d\n", a, b, c);

	return 0;
}

=的优先级高于 ,   +=的优先级比 + 低

9 23 8

3、求a的值

int a = 1;

void test()
{
	int a = 2;
	a += 1;
}

int main()
{
	test();
	printf("%d", a);

	return 0;
}

结果是 1

在函数test中的 a 是咱们定义的局部变量,当局部变量和全局变量冲突是,在局部的时候优先局部变量,咱们已经在局部声明它是个局部变量,所以无论它在局部如何变化,都不影响全局变量a

如果我们把test()中的 int a=2中的int 去掉,答案就变成了 3,因为这个时候a没有声明是局部变量,我们在使用的时候,就认为是是全局变量的那个a

4、关于指针说法,下列哪个正确?

A、int* const p 与 int const *p 等价

B、const int *p与int *const p 等价

C、const int*p与int const *p等价

D、int *p[10] 与 int(*p)[10]等价

a、左const修饰 p ;右修饰*p,不等价

b、与上面相反

c、都是修饰*p,不能随意改变*p指向的对象 √

d、int*   p[10]  与 int   (*p)[10]不等价

前者定义了一个指针数组,其中包含10个指针(地址)

后者定义了一个指针p,指向了一个包含10个int型元素的数组


http://www.kler.cn/a/421868.html

相关文章:

  • vulnhub靶场之momentum-2
  • 项目搭建:spring,springmvc,mybatis,maven
  • Linux:基础开发工具
  • 【云原生系列】云计算中的负载均衡是什么,有什么用
  • Python实现网站资源批量下载【可转成exe程序运行】
  • 宏海科技募资额有所缩减,最大销售和采购都重度依赖美的集团
  • HBase运维需要掌握的技能:监控与日志管理(5)
  • 如何在虚拟机中安装python 和 jupyter,并且启动运行Delta Lake,以及解决一下启动过程中出现的错误(保姆级教程)
  • AllegroHand 四指灵巧手:机器人领域的创新力量
  • HTML5系列(2)--表单增强与验证
  • C语言——自我介绍_Gitee的基本使用
  • 《智能体雏形开发(高阶实操)》开发计划概述
  • 力扣第 73 题 矩阵置零
  • Linux C/C++编程中的多线程编程基本概念
  • C++ 【PCL】点云配准
  • 157. 缓动算法.easing(地球渐入相机动画)
  • 根据YAML文件创建Conda环境
  • Python库—MXNet:高性能深度学习框架的探索与实践
  • 【机器学习】机器学习的基本分类-监督学习-逻辑回归-Sigmoid 函数
  • imfilter函数用法及其在边缘检测中的应用详解
  • ElasticSearch学习篇19_《检索技术核心20讲》搜推广系统设计思想
  • 网络技术-不使用K8S情况下哪些方法可搭建服务链编排
  • Spring Cloud Alibaba(六)
  • Spring Boot 进阶话题:Actuator
  • pytest自定义命令行参数
  • k8s Quality of Service