关于c语言的小问题?
发布网友
发布时间:2024-07-22 13:04
我来回答
共5个回答
热心网友
时间:2024-07-28 06:38
作为考试的话:
1、求值顺序是从左到右
2、i++是先取值后作自增,++i则相反
j=(i++)+(++i)+(i++);
3 5 5
第一个数是3因为i++是先取值3,再将i改成4
第二个数是5是因为这时的i已经是4了,而++i要先将i从4变成5再取值
第三个数是5是因为i++要先取值5,然后i从5再变成6。
结果13
这是教科书的解释。
在实际编程中,这个式子的结果取决于编译器,永远不要写这样的代码。
热心网友
时间:2024-07-28 06:32
结果是12!!!
不管多少个i++,都是到该语句结束后也就是分号后才执行自加1的。多少个i++,分号后就执行多少次自加1 !!!
你的程序结果j=12, i=6.
热心网友
时间:2024-07-28 06:40
因为对于一些程序段不同的编译器的编译原理不一样,比如说,有的是从左边向右计算,有的是从右向左计算。你给的这类的程序,只有考察你对i++和++i 的不同时才可能用到,真正解决问题时,程序员是不会使用的,不易读,不易理解。
热心网友
时间:2024-07-28 06:37
不同的编译器是不一样,反正我是用的vc6.0的编译器,你就按这个运行结果来吧
热心网友
时间:2024-07-28 06:37
i++中,i先参与运算,再执行自加
++i中,i先自加再参与运算
c语言常见问题有哪些
2、忽略了变量的类型,进行了不合法的运算。3、将字符常量与字符串常量混淆。4、忽略了等号与双等号的区别。5、忘记加分号。6、输入变量时忘记加地址运算符。7、输入数据的方式与要求不符。8、输入字符的格式与要求不一致。9、输入输出的数据类型与所用格式说明符不一致。
c语言常见问题有哪些?
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3)a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在“a=...
c语言学习中的8个问题?
在C语言中,关键字static有三个明显的作用:第一、在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。第二、static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。第三、static...
C语言中的问题设inti=1,j=2,k=3那么!(i=j)&&(j=k)为什么不先算两边括...
1. 首先要明确运算符的优先级:•; 在C语言中,赋值运算符=的优先级低于逻辑非!和逻辑与&&。• 对于表达式!(i = j)&&(j = k),先计算!运算符。2. 具体计算过程如下:• 计算!(i = j)时,先执行i = j,此时i的值被赋为2,然后!(i = j)就相当于!(2),结果为0...
c语言面试经常问到的问题有哪些?
C是一种过程语言。C语言的主要功能包括对内存的低级访问,简单的关键字集和简洁的样式。这些功能使其适用于诸如操作系统或编译器开发之类的系统编程。2、i ++和++i有什么区别?1)表达式“i ++”返回旧值,然后递增i。表达式++i递增该值并返回新值。2)后缀++的优先级高于前缀++。3)后缀...
问几个C语言里很多人没注意过的问题
说实话要是这几个问题只要理解了C语言的人,怎么可能不明白。很多人没注意,说明他们还没学懂。当然我也不是在自夸,我也是初学者,可是我还是为楼上几位悲哀。1.你要知道程序在内存中的结构,有栈区、堆区、文字常量区、全局变量区、函数区,使用 char* a = "xxx";这样的语句初始化指针a,"...
关于C语言的6个问题
分类: 电脑/网络 >> 程序设计 >> 其他编程语言 问题描述:1.域宽小于实际宽度时应如何处理?2.默认的域宽与精度各是多少?3.精度说明大于或小于实际精度时,应如何处理?4.FLOAT与DOUBLE的最大精度是多少?5.如何处理符号位?6.多余的小数位是被截断还是舍入?解析:事实上,您问的问题比较泛,...
求c语言一些常见问题,
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3) a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在“...
C语言弱智问题! 请帮忙解答!1个小时之类!
1、a+b=c a,b,c是3个变量,做赋值操作 ;c=a+b //只要abc都有定义并且ab都赋值了就可以 2、int x=31.123 //double不能直接赋值给int 可以int x = (int)31.123或将小数点去掉 3、z=x÷y x、y、z均为float型 z=x/y //float/float结果是double 所以z应定义为double 4、x=E-...
C语言的运行出现不了的问题是什么问题??
环境问题:代码在不同的操作系统、编译器或硬件平台上可能存在差异,导致代码无法正常运行。可以检查编译器和操作系统的兼容性,或在特定的环境中运行代码。逻辑问题:代码逻辑存在问题,导致代码无法正确执行。可以检查代码逻辑是否正确,是否存在死循环、递归深度过大等问题。综上,C语言代码运行不出现象可能...