C语言,求指点!!

供稿:hz-xin.com     日期:2025-01-12
C语言,求大师指点!

#include #include #include int main(void) {int array[10];int t;//交换变量int n;int max=0,min=0;int i;scanf("%d",&n);for(i=0;iarray[i]){min=i;}}//交换t=array[0];array[0]=array[min];array[min]=t;t=array[n-1];array[n-1]=array[max];array[max]=t;//打印for(i=0;i<n;i++){printf("%d ",array[i]);}puts("
end2");return EXIT_SUCCESS;}

题目跟赋值表达式的值以及逗号运算符的特性有关,没有用到运算符优先级的知识(这种题只会在考试的时候出现,平时没有人这么编程的)

  1. 首先看 printf 函数到底输出了什么,%d 对应的参数是 z=(x%y,x/y),即输出表达式 z=(x%y,x/y) 的值;

  2. 于是接下看 z=(x%y,x/y) 的值是多少,根据C语言标准,赋值表达式的值是等号右边表达式的值,即 (x%y,x/y) 的值;

  3. 现在看 (x%y,x/y) 的值是多少,现在可以去掉括号,不会影响运算顺序,对于 x%y,x/y,表达式里面有逗号运算符。对于逗号运算符,标准规定,逗号表达式必须从左往右计算,并且表达式的值是最后一个子表达式的值,即最右边的表达式的值是多少,整个表达式的值就是多少。那么 x%y,x/y 的值等于 x/y 的值,即 10/3,整型数除法舍去余数,结果是3,因此 printf 的输出是 3;

  4. 总结:表达式求值的推导如下:%d -> z=(x%y,x/y) -> x%y,x/y -> x/y -> 10/3 -> 3



图上的式子是先执行x%y,最后执行的x/y,,所有输出结果是x/y=10/3 = 3.



C语言题,求高手指点!?
3.答案C 正确 4. 答案D 错误 s=p;是错误的 因为s是 一个整型数指针,而p是字符型指针。指针类型不同的两个变量不能赋值。=== 希望我的回答对你有所帮助,很高兴和你一起学习和讨论C语言编程。

c语言未经处理的异常,求大佬指点
您好,很高兴回答您的问题。您的这个题目,系统已经很明显告诉您了错误的原因。因为您定义的x为字符型数据,那么它对应的输入输出格式符为%c,但是您在输入语句中写的是%s,是字符串格式,不符合字符型单个变量的输入输出。根据题目意思,应该是要输入字符串,那么定义的时候就要写成char x[2],因为存放的...

一道关于C语言的题,求教,求指点。谢谢!
要提高效率,倒是可以~不过挺麻烦 由于N值是确定的,那么M取值也很容易导出,比如N为6,那么M就只能取1,2,3,6(也就是可以整除N的素数,当然,1,6不是素数,也就是说除了本身和1以外,其它的取值都是素数)当N,M值确定时,X的取值就是M*1,M*2,M*3(也就是M乘以素数的值),为保证M...

一道C语言数组的题目。求指点
这个程序有错吧。1.首先一点是主函数写int main(),写void main()的话是错的,至于为什么就不要深究了吧,以后会懂的,现在给你说你也搞不懂,这就是规律,没办法。2.你这个地方肯定就是想从键盘输入一个数,而这个数也就是数组的长度。但是这样是不可以的,静态数组定义的时候必须指出它的大小...

plc有几种编程语言以及它们的特点,求指点?
plc的编程语言有以下几种:1、梯形图(LD)2、功能块图(FBD)3、顺序功能图(SFC)4、结构化文本(ST)5、指令表(IL)语言类型PLC的用户程序,是设计人员根据控制系统的工艺控制要求,通过PLC编程语言的编制规范,按照实际需要使用的功能来设计的。只要用户能够掌握某种标准编程语言,就能够使用PLC在...

一道c语言题目 求大神指点下算法?
根据题意,随机生成红绿蓝球任意个数,并任意顺序排列。这里采用随机数实现。统计按红绿蓝顺序排列最少交换次数,我的思路是:第一步:循环将最后一个红色球与最靠前的其它两色球(并且满足位置在红球之前)交换。第二步:循环将最后一个绿球与最靠前的蓝球(必须在绿球之前)交换。include <stdio.h> ...

C语言比较三个数大小,初学者求指点
include <stdio.h>int main(){int a, b, c, d; \/\/ 漏了分号printf("输入三个数\\n");scanf("%d,%d,%d", &a, &b, &c); \/\/ 在键盘输入3个数的时候中间记得要用半角逗号隔开if (a > b){if (a > c)d = a;elsed = c;}else{if (b > c)d = b;elsed = c;}printf(...

求指点为什么是这个结论?C语言,编程
你定义了一个30个字符的字符串,然后:执行第6句后,字符串的值是:“CH”(b[0]='C',b[1]='H')执行第7句后,因为是从b[1]开始写入,第一个字符'D'把b[1]中原来的‘H‘覆盖了,所以,结果是:“CDEF“(b[0]='C',b[1]='D',b[2]='E',b[3]='F')执行第8句后,...

我的语言表达能力不好人际交往能力差怎么破。求高人指点一二。
学习与人沟通交流的表达方式: 一、变得开朗,学会大胆主动积极与别人说话,说了总比不说好,说多几次自然不用怕。下面几点内容你可以学习一下: 说话紧张的时候,努力使自己放松。静静地进行深呼吸,在使气息安静下来,在吐气时稍微加进一点力气,这样心就踏实了。笑对于缓和全身的紧张状态有很好的作用...

c语言程序问题,不会编程,求大师指点,例子如下:
您好!很高兴为您解答。程序如下,已通过编译:include<stdio.h> include<math.h> define N 10\/\/n的值 void main(){ int i;double a[N],sum=0,s=0;printf("请输入n个数:");for(i=0;i<N;i++){ scanf("%lf",&a[i]);sum+=a[i];} printf("平均数:%lf\\n",sum\/N);for(...