#define LETTER 0
main()
{char str[20]="C Language",c;
int i=0;
while((c=str[i])!='\0')
{i++;
#if LETTER
if(c>='a'&&c<='z') c=c-32;
#else
if(c>='A'&&c<='Z') c=c+32;
#endif
printf("%c",c);
}
}
输出结果 c language
解释:因为LETTER=0,所以所有大写会变成小写,如果LETTER≠0,则所有小写变大写!
#define LETTER 0 //定义一个宏常量 LETTER
main() //主函数部分
{char str[20]="C Language",c; //字符串 赋值
int i=0; //定义一个整形变量i
while((c=str[i])!='\0') //循环语句,单独处理字符串中的每一个字符,
//直到字符串结束,'\0'是字符串结束的标志.
{i++; //循环控制.i从字符串的第一个字符开始,每处理完一个就+1,
#if LETTER //判断语句,判断LETTER的值,如果为真,则编译#else之前的语句,
//否则编译#else之后的语句.
if(c>='a'&&c<='z') c=c-32; //因为LETTER为0,所以这部分跳过,不编译.
#else
if(c>='A'&&c<='Z') c=c+32; //因为LETTER为0,所以这部分是经过编译的,所以会执行.
#endif //宏编译结束.
printf("%c",c); //输出处理后的字符串.
}
}
C语言有关问题。以下程序的输出结果是:(并且给出解释)
输出结果:c language 解释:if LETTER if(c>='a'&&c<='z') c=c-32;else if(c>='A'&&c<='Z') c=c+32;endif 这段是指当LETTER的值为真(非零)时执行第一个程序段if(c>='a'&&c<='z') c=c-32;否则执行第二个程序段if(c>='A'&&c<='Z') c=c+32;这里宏定义#define...
C语言初学者问题 以下程序的输出结果是什么?最好有解释
main(){int a=100;\/\/因为a=100;所以执行else if(a>100) printf("%d\\n",a>100);\/\/这里a<=100是个bool值,a确实小于等于100,所以bool值为1 \/\/打印出1 else printf("%d\\n",a<=100);}
c语言问题
} m.nf就是占m列宽,小数点后有n位,如果宽度超出,正常输出,就不写了,不好写 如果%-m.nf这样的话,像上面,是右对齐,左留空格,带负号就是左对齐,右留空格。3.以下程序的输出结果是【 】main(){ int a,b;float c,d;char c1,c2;a=61;b=62;c=31.5;d=-68.87;c1='a';c2=...
c语言,以下程序运行后的输出结果是
因此最终结果a=0,b=0,c=-10 输出a、b、c的值,输出0,0,-10
C语言,,请详细解释,详细
C语言,,请详细解释,详细 以下程序的输出结果是()。main() {char*alpha[5]={“a”,“bc”,“def”,“1”,“23”},**p; inti; p=alpha; for(i=0;i<3;i++,p++)printf(“%s”,*p); printf(“\\t”); p=p-3; for(... 以下程序的输出结果是( )。 main() { char *alpha[5]={“a”...
c语言以下程序后的输出结果是 3223为什么
(壹)x=x+y后x=5,y=3;y=x-y后x=5,y=2;x=x-y后x=3,y=2;所以fun里的输出printf32 接下去应为是局部变量所以x,y的值都没有变 所以printf输出23 整个就是3223 (贰)fac=fac\/i 例如 1\/3!=(1\/2!)\/3 呵呵,如果还有什么问题找我 QQ:381330213 ...
c语言问题解释求详细例如main()=? int=?或者定义
然后就输出了嘛,k应该是12嘛 额,你不是想问c的语法吧………main()是主函数,程序一开始就调用这个函数,也就是运行main()里的程序块。int是Integer的缩写,意思是整数,表示声明整数型的变量。后面的i,k是变量名,就像数学里的x,y,z,一个名字,仅此而已。a[10],p[3]是数组,就是一串整...
求这个C语言问题的运行结果 并且截图
你的程序有问题啊,输入的时候你输入了三个值,后面只给了一个变量,要出错的。我把代码稍微修改了一下,到时 你输入三个数就可以了。include "stdio.h"main(){int i,a[3],sum=0;scanf("%d,%d,%d",&a[0],&a[1],&a[2]);for(i=0;i<3;i++)sum=sum+a[i];printf("sum=%d",...
C语言读程题,根据图中程序的运行结果分析下原因?
所以这个程序先执行a+的那个函数,因为有个全局变量d,所以现在的d的值为2,当2传入函数中,p的值变为2,并且因为现在有局部变量d,所以优先使用局部变量,d+=p就是d=d+p,因此d的值变为8,然后执行printf就输出了8。以后再执行外面的函数fun,此时他的参数是a+fun,因为上面已经知道内侧fun的...
谁能帮我解决下面的C语言问题啊,最好能说明解析过程。
1、结果:1 解析:执行switch(a%3),由于a%3=0,满足case 0,因此执行其后语句m++,接着执行break语句,由于break语句有跳出switch语句的功能,因此在此处跳出switch语句,执行printf语句,m自加过一次,故输出结果:1;2、结果:**0***2 解析:道理同第1题,执行switch(a),满足条件进入switch...