C语言程序改错题,为什么if(a小于b),max=a,要把a的值赋给max?

作者&投稿:重尝 (若有异议请与网页底部的电邮联系)
c语言 #defineMAX(a,b)(a>b)? a : b 这句什么意思?特别是?a:b~

1、#是预处理的前导符。
2、#define是宏定义,这是一个宏定义函数。
3、“?
:”是条件运算符条件运算符的一般使用格式如下:
表达式1
?
表达式2
:
表达式3
举例如下:
max
=
(a>b)
?
a
:
b;
//
取变量a,
b中较大的一个,并赋值给变量max
4、整句的意思就是定义一个MAX的宏函数,来判断两个值的大小。问题中的代码相用C语言描述伪代码描述为:
int
a,
b
,
tmp;
if
(a
>
b)
tmp
=a;
else
tmp
=
b;
因为C语言中没有C++中的模板概念,所以用宏的方式来实现不同数据类型的相同操作。

可以,相当于如果a>b执行一个空语句~~
不过这样不规范
你可以直接写成
if(a<=b) max=b;

max=a;
a=b;
b=max;
这是一个交换两变量的过程,作用是交换两个变量的值
首先把a的值赋给max
然后把b的值赋给a
最后把max赋给b,由于max的值是原来a的值,所以b相当于得到了a的值
交换过程结束
所以:
if (a < b) { .... }表示,如果a小于b,则交换a与b
if (a < c) { .... }表示,如果a小于c,则交换a与c

这段程序很简单,你可以看到输出函数里面按照顺序输出的abc的值,然后如果a小于b,后面的三条语句是把ab的值进行交换同理,如果一小于c,再把ac的值进行交换,经过这些交换,那么a的值最终是最大值


计算机二级的c语言有哪几种题型?
计算机二级c语言考试题型有单项选择题、程序填空题、程序改错题、程序设计题四大类题型。各题型分值如下:一、单项选择题 单项选择题共四十题,四十分,每一个选择分值为1分,其中单项选择中含公共基础知识,该部分十道题,占10分。二、程序填空题 程序填空题有2-3个空,占比分值18分,该题型为上机题...

C语言程序改错题(分析程序功能,指出题中的错点,对错误进行分析并改正...
三个空);第二:改错题(一般有两个或三个错);第三:编程题(一般是给出主程序,让你自己编子程序)。 上机操作题一般都比较简单,你买一本上机题库100道,基本上做完就肯定没问题,绝对可以过。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 秋枫5410 2011-07-05 · TA获得超过793个赞 知道小有建...

C语言改错
程序改错题:p=&s;改为:p=s;while(++p!='\\0')n=n*8+*p-'0';改为:while(*(++p)!='\\0')n=n*8+*p-'0';程序填空题:(1) p=j;(2) x[i][p]

国二C语言的程序改错题,必须改成和标准答案一样的吗?昨天的考试改的和...
机改题只看最后的输出结果!!因为电脑无法识别程序的正确与否,只能看程序执行以后输出的结果与事先给定的标准答案是否一致,只能结果一样,电脑就认为程序正确

计算机二级c语言分数是多少?
计算机二级c语言分数分配:1、单项选择题,40题,40分(含公共基础知识部分10分)。2、程序填空题,2~3个空,18分;上机题。3、程序改错题,2~3处错误,18分;上机题。4、程序设计题,1题,24分;上机题。补充资料:考试内容 1、C语言程序的结构。程序的构成、main函数和其他函数;头文件、数据...

计算机等级考试选择题分值是多少
(1)单项选择题,40题,40分(含公共基础知识部分10分);(2)程序填空题,2~3个空,18分;(3)程序改错题,2~3处错误,18分;(4)程序设计题,1题,24分。Python语言程序设计 (1)单项选择题,40题,40分(含公共基础知识部分10分);(2)简单编程题,5题,40分;(3)综合编程题...

C语言改错题,根据题目修改图中错误的源程序代码?
第一个程序 include<stdio.h> void main(){ float n,f;float x1=1,x2,temp;\/\/这里x1初始化为1,因为要先给x1赋值 printf("Enter a positive number:");scanf("%f",&n);while(1){ x2=(x1+n\/x1)\/2;\/\/这里这句移到这里,因为要先给x2赋值 temp=x1-x2;if(temp<0)temp=-temp;if...

计算机二级考试的分值如何分配的?
二级MSOffice高级应用:单项选择题20分(含公共基础知识部分10分);文字处理题30分;电子表格题30分;演示文稿题20分。二级C语言程序设计:单项选择题,40题,40分(含公共基础知识部分10分);程序填空题,3空,18分;程序改错题:2各错误,18分;程序设计题:24分。C语言程序设计 (1)单项选择题...

计算机二级c语言分值
二级C语言分值:1、单项选择题,40题,40分(含公共基础知识部分10分)。2、程序填空题,2~3个空,18分;上机题。3、程序改错题,2~3处错误,18分;上机题。4、程序设计题,1题,24分;上机题。其他科目分值如下:二级 MS Office 高级应用:1、单项选择题 20分(含公共基础知识部分10分);2、...

C语言入门程序改错题?
3行:改成char grade;6行:改成 if(grade>='a' && grade<='z')9~13行,case后面的字母改成带单引号 'A' 'B' 'C''D''E'9行后面加上break;10行后面加上break;

瓮安县17390813130: C语言改错题? -
僪贤呋布: #include<stdio.h>#include<math.h> int fun(int n,int*value) {int d,s,I; d=1;s=0; for(I=1;I<=5;I++) d=d*n;*value=d; for(I=1;I<=3;I++) { s=s+d%10; d=d/10;} return s;} main() {int n,sum,v; do { printf("\nEnter n(2<n<8):"); scanf("%d",&n); } while(n<=2||n>...

瓮安县17390813130: 这是c语言题目,第一个if条件错误啊,不可能执行啊,这道题怎么回事 -
僪贤呋布: 第一个if语句是不执行,只是t=a不执行,因为语句体没有加大括号,后面的a=c;c=t;还是会执行,然后第二个if语句会执行,因为是逗号语句,所以三个表达式都会执行.执行过程为:a=5,c=99 t=4,b=5,a=4 所以输出为:4599

瓮安县17390813130: C语言中关于if函数的问题 -
僪贤呋布: C语言if函数的用法 main() { int a=3,b=4,c=5,t=99; 从这题来看,这应是T中间变量,用来进行另两个数的交换,故T可不用赋值 if(b<a&&a<c) t=a;a=c;c=t; b<a&&a<c这是B小于A并且A小于C 若满足这条件,则A与C的值互换 这题不满足这一条件if(a<c&&b<c) t=b;b=a;a=t; 这与上式意思相同 但满足这条件,所以b与a互换printf("%d%d%d\n@",a,b,c); 结果应该是照常输出

瓮安县17390813130: c语言中.if 语句的一个小问题.懂的进来解答下,谢谢
僪贤呋布: if(a=19871019) 没有错,程序会先赋值,然后将该值作为 if 的判断条件,此时值肯定非零,那就是条件成立,会输出“输入正确,请稍后……”; 只是你的printf("输入正确,请稍后……:);把最后的双引号写成冒号了. 当人,如果你是想比较 a是否等于19871019,就需要如下这样了: if (a == 19871019)printf("输入正确,请稍后……");

瓮安县17390813130: C语言,关于if的一个题目 -
僪贤呋布: 题目已经正确回答.因为if语句后面没有大括号,只“管”一个语句,后面的两个语句是无条件执行的.

瓮安县17390813130: c语言程序设计改错 求解 -
僪贤呋布: #include void sort(int arry[]);//函数声明,排序 void main() { int a[10]; int i; for(i=0;i scanf("%d",&a[i]); sort(a); } void sort(int arry[]) { int i,j,t; for(i=0;i { for(j=0;j if(arry[j]>arry[j+1]) {t=arry[j]; arry[j]=arry[j+1]; arry[j+1]=t;} } for(i=0;i printf("%d ",arry[i]); }

瓮安县17390813130: C语言简单代码求改错 -
僪贤呋布: 程序1修改完成,直接加到mian函数中运行 float x; printf("请输入X\n"); scanf("%f",&x); { if(x>-5 && x { x=x+0; } else if(x==0) x=x-1; else if(x>0&&x x=x+1; else x=100; } printf("%0.2f",x); 运行结果:请输入X-2-2.00 程序2的方法不是很好给...

瓮安县17390813130: C语言纠错,很短的…… -
僪贤呋布: else { n++; len_len=len_len-2; antitone(char S[100],int len_len,int n);//这里不需要申明 } antitone(S[],len_len,1);//改为 antitone(S,len_len,1); 数组调用直接写数组名就可以了 你这个程序应该是将一个字符串数组反序输出把.你这个程序写的不...

瓮安县17390813130: 关于C语言if语句的问题
僪贤呋布: 当你输入一个大写字母时,第一个if满足条件,使得你的字符变成小写,这个时候,第二个if又满足条件,因此又变回去了.所以要加一个else if来确保在第一个if处理完以后不要继续处理,就这么简单

瓮安县17390813130: C语言改错题
僪贤呋布: main(){int a,b,c,t; Scanf(“%d%d%d”,&a,&b,&c); /*$ERROR$*//*C语言是大小写敏感的,所以Scanf和scanf不是同一个函数,应该改成scanf*/if(a<b) {t=a;a=b;b=t;} /*这个if结束a大,b小*/if(b<c) {t=b;b=c;c=t;} /*这个if结束b大,c小*/ if(a>b) {t=...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网