//三个数找最大
//应用if else
//编程环境:vs2012
//这个版本是不带输入的,把数据写在了程序里
#include<stdio.h>
int main()
{
//首先是if else的应用
int a=2;
//----------------------------
//下面的程序代码,版本原因报错
int q =10;
int w =16;
int e =14;
int max;
//----------------------------
if(a>1)//if成立的情况
{
printf("1\n");
}
else
{
printf("0\n");
}
if(a>3)//if不成立的情况
{
printf("1\n");
}
else
{
printf("0\n");
}
//对于表达式(就是类似于“a>1”这样的)它运行返回的是一个结果,非0为真,0为假,最后只会返回0和1两个结果之一
//以上部分没太大用处,下面正式开始三个数找最大的程序
//--------------------------------------------------
/*int q =10;
int w =16;
int e =14;
//未初始化(没有赋过值)的变量不能有“读”操作
int max;
//在这里经常会出一个错误:The variable ‘max’ is being used without being initialized.
*/
//由于版本原因,这里声明变量会报错,
//这里有一个坑, 声明变量的时候,一行只声明一个变量,多个变量不是很方便后期查看
if(q>w)
{ //虽然语句只有一条,但应该养成加括号的习惯,让可读性更好
max = q;
}
else
{
max = w;
}
if(max>e)
{
printf("%d\n",max);
}
else
{
printf("%d\n",e);
}
}
三个数比较大小,核心是两两比较,把稍微大的三个数比较大小的问题进行拆分,化为两两比较!
知识点:
1.0为假,非0为真,’真‘的值理解为1
2.a>1是有值的,结果是真(因为a=2),输出其结果可得1
3.声明变量要养成好一行一变量的习惯,一目了然
4.常犯错误:The variable ‘max’ is being used without being initialized.这是因为变量未初始化就进行了‘读’操作
5.sum=sum+1(假设sum已经初始化)和sum=max+1(假设max未初始化),可以根据这个例子来理解(先读取)