c语言中IF的用法!!!急求!!!

请高人帮忙看看这里IF的用法哪里错了???

1.if语句的一般格式
if(表达式)
{语句组1;}
[else
{语句组2;} ]
(1)if语句中的“表达式”必须用“(”和“)”括起来。
(2)else子句(可选)是if语句的一部分,必须与if配对使用,不能单独使用。
(3)当if和else下面的语句组,仅由一条语句构成时,也可不使用复合语句形式(即去掉花括号)。

2.if语句的执行过程
(1)缺省else子句时
当“表达式”的值不等于0(即判定为“逻辑真”)时,则执行语句组1,否则直接转向执行下一条。
(2)指定else子句时
当“表达式”的值不等于0(即判定为“逻辑真”)时,则执行语句组1,然后转向下一条语句;否则,执行语句组2。如图4-1(b)所示。
3.if语句的嵌套与嵌套匹配原则
if语句允许嵌套。所谓if语句的嵌套是指,在“语句组1”或(和)“语句组2”中,又包含有if语句的情况。
if语句嵌套时,else子句与if的匹配原则:与在它上面、距它最近、且尚未匹配的if配对。
为明确匹配关系,避免匹配错误,强烈建议:将内嵌的if语句,一律用花括号括起来。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-01-28
这是C++种的条件编译预处理命令
有两种格式:
1:#ifdef
标示符
程序段1
#else
程序段2
#endif
表示:如果标示符已经被#define命令定义过,则编译程序段1,否则编译程序段2
2:#if
表达式
程序段1
#else
程序段2
#endif
表示:如果表达式为真,则编译程序段1,否则编译程序段2.
你写出的命令应该属于格式1
第2个回答  2013-11-27
if就是判断括号中的条件是否成立,0假,非0真
如果括号中为0则不执行,非零则执行

补充:函数是有返回值的
第3个回答  2013-11-27
#include<stdio.h>
#define one 1
#define two 2
#define three 3
int max()// 声明函数max
void main()
{
int x=one,y=two,z=three;
z=max=(x,y,z);//调用函数max
printf("%d,%d和%d中最大值为%d",one,two,three,z);
}
int max(int x,int y,int z)//定义函数max
{
if(x>y)
{
if(x>z){return (x);}
else{return (z);}
}
else
{
if(y>z){return (y);}
else{return (z);}
}
}
第4个回答  2013-11-27
if下面不能直接加两个else
if(){}
else if(){}
else(){}
可以这么加。

c语言急救!!!1
int main(){ int n;int i=0;int *a;printf("请输入数字的个数");scanf("%d",&n);a=(int *)malloc(sizeof(int)*n);printf("请输入这%d个数\\n",n);for(i=0;i<n;i++){ scanf("%d",a+i);} for(i=n-1;i>=0;i--)printf("%d",*(a+i));printf("\\n");return 0...

急救C语言编程!急救挖~
printf("请输入要读取数据的文件名,例如c:\\\\f1\\\\te.txt:\\n"); scanf("%s",infile); if((fp=fopen(infile,"wb"))==NULL) { printf("不能打开文件\\n"); exit(1); } printf("正在读取数据...\\n"); p=(STUDENT *)malloc(sizeof(STUDENT)); if(!p) { printf("内存不足!\\n"); exit(1)...

c语言高手急救:从键盘输入长整数n,将其从个位开始,每三位数字一组用逗 ...
if(f) printf("-");for(i-=1+(x[i-1]==',');i>=0;i--)printf("%c",x[i]);printf("\\n");}

C语言 数组的问题!!急救!!
if(currentMembers[k] = memberID) { isAMember = 1;break;} } isAmember = 0;(2)题目是这样子的:有以下数据,int j, k int const nZips;\/\/已初始化 int zipcodeList[nZips] \/\/已初始化 int duplicates;要求是,如果sizcodeList数组里有任意两个相同的数则把duplicates赋1,否则赋0;代...

急救,C语言问题
include<stdio.h> void main(void){ float a,b,c;float max=0;scanf("%f %f %f",&a,&b,&c);if(a>b)max=a;else max=b;if(c>max)max=c;printf("max=%f\\n",max);}

c语言高手急救:有一对兔子,从出生第3个月起每个月都生一对兔子...
include<iostream>#include <iomanip> using namespace std;int f(int n){ if(n==1||n==2)return 1; else return f(n-1)+f(n-2);}void main(void){ int n; cout<<"输入n:"; cin>>n; cout<<f(n)<<"对"<<endl;}

c语言急救啊 c语言帝快来 救救小生啊!!!
8---只有d正确,要c>='a'而且必须小于等于'z'。9---两边之和大于第三边,同时满足,用&&。10---函数中的参数本来是形式参数,不能此处传递的是指针,所以要改变原值,结果应为:2,1;4,3。注意fun函数中的y何main函数中的y不一样。11---{{1,2,3},{4,5,6}},t=s[0].a+s[1...

c语言急救!!~
先把他放进二维数组里,然后用for(i=0;i<n;i++)printf("%d",a[i][2]);就ok 了

用C语言编写顺序存储结构的插入程序。急救!~~
if (L->last == MaxSize - 1)printf("溢出错误");for (p = L->last; p >= i; p--){ L->elem[p + 1] = L->elem[p];} L->elem[i] = e;printf("插入成功");} int main(){ SeqList List;List.last=0;int n;scanf("%d",&n);InsertList(&List,n,1);return 0;}...

如何用C语言实现逆序存放数组里面的数?(急救)!!!回答的满意,本人另加悬...
if (a[i] == 99999) goto done; \/\/输入99999,则输入结束 i = i + 1; \/\/ 否则,计数器加 1 goto Lab1; \/\/ 返回上面,再接收下一个输入数 done:;printf("i=%d\\n",i);for (k=0;k<i;k++) printf("%d ",a[k]);printf("\\n"); \/\/ 打印输入数 j = i \/ 2;fo...

相似回答