这个宏确实是有定义的,但是CONFIG_SYS_MONITOR_BASE我确实没有定义的,在u-boot最后生成的include/autoconf.mk中也没有查看到这个宏的值,说明这个宏确确实实真没有。　然后我们自己手动写一个代码　1　#include　3　#define　CONFIG_ENV_ADDR　100　4　int　main(int　argc,　char　*argv[])　5　{　6　#　if　(CONFIG_ENV_ADDR　>=　CONFIG_SYS_MONITOR_BASE)　7　printf(">=\n");　8　#else　9　printf("==\n");　10　#endif　11　return　0;　12　}　gcc　-E　tesr.c　-o　test_1.c　预处理后查看到的结果是　840　int　main(int　argc,　char　*argv[])　841　{　843　printf(">=\n");　847　return　0;　848　}　请问有大神知道相关点吗?C语言没学好啊!　以上三种方法均可以　比较　出三　个数　的最大值,区别在于例子中的方法是　使用　的赋值语句,而替代方法1是运用的标准条件运算,后面的替代方法2则是以赋值语句为主的　两重(条件运算的)嵌套。　补充:替代方法2不能写成max　=...　这道题是每一位初学C的小伙伴们的必经之路,其经典性简直如同Hello　World!　下面写一下几种不同的解法。　使用if语句　#　include　　int　main　(　)　{　int　a　,　b　,　c　,　max　;　//逗号,(大/中/普通)括号,右端需有空白字符　scanf　(　"%d%d%d"　,　&　a　,　&　b　,　&　c　)　;　if　(　a　>　b　)　max　=　a　;　//为了代码可视性高,操作符需被空白字符包围　else　max　=　b　;　if　(　c　>　max　)　max　=　c　;　printf　(　"max=%d"　,　max　)　;　return　0　;　}　使用三目运算符　?:条件运算符,使用方法是<表达式1>　?<表达式2>　:<表达式3>,意思是满足表达式1就执行表达式2,否则执行表达式3。　#　include　　int　main　(　)　{　int　a　,　b　,　c　,　max　;　scanf　(　"%d%d%d"　,　&　a　,　&　b　,　&　c　)　;　max　=　a　>　b　?　a　:　b　;　max　=　c　>　max　?　c　:　max　;　printf　(　"max=%d"　,　max　)　;　return　0　;　}　a>b　?　(max　=　a)　:　(max　=　b);　c>max　?　(max　=　c)　:　max　;　max　=　(　(a>b　?　a:b)　>　c)　?　(a>b　?　a:b)　:　c;　以上三种方法均可以比较出三个数的最大值,区别在于例子中的方法是使用的赋值语句,而替代方法1是运用的标准条件运算,后面的替代方法2则是以赋值语句为主的两重(条件运算的)嵌套。　补充:替代方法2不能写成　max　=　(　(a>b?a:b)　>　c　)　?　():c;　。　因为在三目运算符?的前置条件中　(a>b?a:b)　的运算结果是没有分配储存地址的,只是开辟了临时地址(理解成缓存也行,程序结束便清空),这就导致后面的　()　根本无法从前面取得值,所以得再写一次表达式。　使用max函数　+　if语句　#　include　　int　main　(　)　{　int　a　,　b　,　c　,　max　;　int　Max　(　int　x　,　int　y　,　int　z　)　;　//声明自定义函数Max　scanf　(　"%d%d%d"　,　&　a　,　&　b　,　&　c　)　;　max　=　Max　(　a　,　b　,　c　)　;　printf　(　"max=%d"　,　max　)　;　return　0　;　}　int　Max　(　int　x　,　int　y　,　int　z　)　{　int　max　;　//不同的函数中可以使用同名(局部)变量　if　(　x　>　y　)　max　=　x　;　else　max　=　y　;　if　(　z　>　max　)　max　=　z　;　return　max　;　}　使用max函数　+　三目运算符　#　include　　int　main　(　)　{　int　a　,　b　,　c　;　int　Max　(　int　x　,　int　y　)　;　scanf　(　"%d%d%d"　,　&　a　,　&　b　,　&　c　)　;　printf　(　"max=%d"　,　Max　(　Max　(　a　,　b　)　,　c　)　)　;　//调用两重Max函数嵌套　return　0　;　}　int　Max　(　int　x　,　int　y　)　{　return　x　>　y　?　x　:　y　;　}　其中　printf　语句里的两重函数嵌套不能写成　Max(　(a,b)　,c)　,因为这个　(a,b)　并不符合自定义Max函数的传参要求。　自定义Max函数　int　Max(int　x,　int　y)　的形参为整型变量　int　x,　int　y　,所以在调用Max函数时,需要传入符合定义要求的int型参数,那么显然这个　(a,b)　并不是int型参数,它是一个不属于任何类型的不完整表达式,其没有实际意义。　不过,两重Max函数嵌套写成　Max(　Max(a,b)　,c)　是符合要求的,因为　Max(a,b)　的函数返回值符合　int　x　的传参要求,究其原因是其内部　return　语句中返回的　x>y?x:y　是一个int型值。　使用指针　#　include　　int　main　(　)　{　int　a　,　b　,　c　;　int　Max　(　int　x　,　int　y　)　;　int　(　*　p　)　(　int　,　int　)　=　&　Max　;　//对指针p赋初值为Max的地址,&可省略　scanf　(　"%d%d%d"　,　&　a　,　&　b　,　&　c　)　;　printf　(　"max=%d"　,　p　(　p　(　a　,　b　)　,　c　)　)　;　return　0　;　}　int　Max　(　int　x　,　int　y　)　{　return　x　>　y　?　x　:　y　;　}　这个有关于数字比较之类的问题,在C语言中是非常经典的一块,于是写了几种方法来开拓一下自己思路。也希望可以通过对这个题目的不同解法,来为之后像回溯和指针之类的知识稍微做一下铺垫,嘿,大家一起来感受一下。　总之,我觉得吧,像这种O(1)的小小代码片儿,要是闲的没事儿或闲情所致,那还是可以追求一下更多的不同解答方法啦。^　_　^　Q1:　C语言　判断一　个　输入得　数　子是几位　数#includeint　is_digit(long　long　a){int　sum=0;while(a){sum++;a/=10;}printf("该数的位数为:%d\n",sum);return　0;}int　main(){long　long　a;scanf("%lld",&a);printf("您...　Q1:C语言　判断一个输入得数子是几位数　#include　int　is_digit(long　long　a){　int　sum=0;　while(a){　sum++;　a/=10;　}　printf("该数的位数为:%d\n",sum);　return　0;　}　int　main()　{　long　long　a;　scanf("%lld",&a);　printf("您输入的数值是:%lld\n",a);　is_digit(a);　}　扩展资料:　c语言需要说明的是:　1.一个C语言源程序可以由一个或多个源文件组成。　2.每个源文件可由一个或多个函数组成。　3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。　4.源程序中可以有预处理命令(包括include　命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。　5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“　;”。　6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。　百度百科-c语言　比较两个数　的　大小　给有需要的朋友,不过我希望朋友们理解后自己写　#include　　#include　　int　main()　{　int　x,y;　printf("请输入　两个数　进行　比较　");　scanf("%d%d",&x,&y);　...　1)唯一的三目运算符(条件运算符)可以用来获得　两个数　中最大或最小的那个　数　。形式上更加简洁。　2)条件表达式的本质就是if-else。冒号:后的值就是else语句。　举例1:条件运算符的嵌套:　c　=　...　今天尝试自己编了一个小程序,用来检验　两个数　的　大小　。下面是程序的部分,有什么不对的欢迎大家指正。　程序部分　#include　#include　#pragma　warning(disable:4996)　int　main(暂时看到这　两　种方法。虽然很简单,但还是总结一下　方法1:　int　imin(int　n,　int　m)　{　int　min;　if(n　<　m)　min　=　n;　else　min　=　m;　return　min;　}　方法2:　int　imin(int　n,　int　m)　{　return　n　<　m　?　n　:　m;p　style="text-align:center">

printf("请输入　两个　实数:\n");　scanf("%d%d",&a,&b);　if(a>b)　{　printf("%d,%d",b,a);　}　else　printf("%d,%d",a,b);　return　0;　}　//一次　比较　,一次交换,为了实现互换,必须借助于第3个变量。　...　比较两个　字符串的　大小　,不许　使用　strcmp函数。　输入格式:　在两行分别输入　两个　长度小于20的字符串。在字符串中不要出现换行符,空格,制表符。　输出格式:　直接输出“>”或“<”或“=”,分别表示第一个字符...　目录　一、先写好框架　二、然后定义我们需要的变量...今天我们要写的是　用　调用函数的方法来　比较两个　数字的　大小　我们先看看程序的运行效果　一、先写好框架　#include　void　main()　{　}　二...　重新学习　C语言　,同时作为给大一上课的教案　满意答案#include　int　MyStrcmp(char　*p1,char　*p2)　{int　i　=　0;for(;((p1[i]　!=　'\0')　&&　(p2[i]　!=　'\0'));i++)　{if(p1[i]　>　p2[i])　return　1;else　if(p1[i]　<　p2[i])　return　-1;...　比较两数大小　1.利用if　else输出较大值　#include　int　main()　{　int　a=0,b=0　;　scanf("%d%d",　&a,　&b);　if　(a>b)　printf("%d",　a);　else　if　(a黑桃(Spade)>方块(Diamond)>梅花(Club))和　大小　(从小到大依次是:2-10...　【转】asp.net连接数据库字符串有哪些写法[数据连接]来源:...结合webconfig位...Redrain个人维护并　使用　的DuiLib和UiLib库源码下载地址转载...　首先我们先来看一下　C语言　中如何　比较　三个　数的大小　:这是最容易理解的方法在之前判断　两个数大小　的基础上,在if语句中嵌套一个if语句,经过多次判断得出最大　数　。这样可以再引用函数中将引用的函数变为max(a,b,c)或者在...　这是2013年09月27日上午10点半写的。上简单的三　个　题目:1.　用C语言　运行出:3.(一)　用maxin2函数写出判断三　个　整数　大小　的程序。(二)自己定义一　个maxin3的函数,写出判断三　个　整数　大小　比较大小　的max函数　int　max(int　x,　int　y)　{//定义max函数,函数值为整型,形式参数x,y为整型　int　z;//max函数中的声明部分,定义本函数中用到的变量z为整数　if　(x　>　y)z　=　x;　else　z　=　y;　getchar();　return(z)...　//strcmp　(参数1类型为:char　*,参数2类型为:char　*),用于　比较　参数1,参数2　两个　字符串的值　大小　,返回一个int类型的　数　。如果第一个参数大于第二个参数返回1,相等返回0,小于返回-1,头文件为#include　#include