有以下程序 #include<stdio.h> main() { char a,b,c,d; scanf(“%c%c”,&a,&b); c=getchar(); d=getchar(); printf(“%c%c%c%c \ n”,a,b,c,d); } 当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符) 12<CR> 34<CR> 则输出结果是 A)1234 B)12 C)12 3 D)12 34
c语言有一道题不会做,求高手解,最好分析一下。
这个回车符会传递到下一句,也就是:c=getchar(); ,这样 c 赋值为回车符了;d=getchar(); 接着就是这句,你输入34的时候,d 只接收单个字符,也就是 3 ;所以最后的输出是:12 3
C语言程序设计 我是C语言初学者,有一道看程序的题我有些弄不懂,还请...
答案:C A:是如果a>b,则一程序一直执行到“b=c;”,效果是换a与b的值;B:是如果a>b,则执行{ }里的语句,效果是交换a与b的值;C:是如果a>b,则执行c=a; 无论a是否大于b,c的值都要给a,a-b;没什么作用;D:是如果a>b,则效果是交换a与b的值,c相当于中转站,a-b;没什么作...
C语言中的问题不明白为什么 新人麻烦详细解释一下谢谢
这里scanf指定逗号为输入的分隔符号。所以输入时数字和字符之间必须有逗号。scanf不指定分隔符时,默认以空白字符(空格、回车、制表符)为分隔符。PS:如果写%d%c不指定分隔符号。由于第二个变量是字符型,输入时中间不要加空格符,否则会将空白符号做为字符接收。
C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因..
第三项结果是一个指针,也就是一个地址。它就是a[2][1]的地址,由于scanf要求是地址,所以它是正确的。
C语言菜鸟求高手解答...
1. 第一个问题似乎是一个关于C语言条件判断的疑问。你需要明确表达你的问题,以便得到具体的解答。2. 在C语言中,`m++` 表示先使用变量 `m` 的值,然后将 `m` 的值加1。所以,表达式 `m++ > 5` 首先将 `m` 的值(初始为5)用于比较,然后 `m` 自增。3. 由于 `m` 的初始值是5,...
请教C语言高手,很多题目不会做。。
12,选a 在未初始化数组的情况下必须标明数组的宽度和长度,如后又初始化数据则可省略 14 ,选1 整型是不可以赋予字符型值的 15,选1 错在C语言的“\\”有专门的用途!!凡以\\开头的是转义字符!如果要表示\\本身,则要用\\\\表示。因此包含文件那一行要改写成:#include "C:\\\\user\\\\F1.h"...
C语言不会,求高手,我是菜鸟
main(){ char b1,b2,b3,b4,b5;b1='A';b2='B';b3='C';b4='D';b5='E';printf("b1=%c\\nb2=%c\\nb3=%c\\nb4=%c\\nb5=%c\\n",b1,b2,b3,b4,b5);b1=b1+4;b2=b2+4;b3=b3+4;b4=b4+4;b5=b5+4;printf("b1=%c\\nb2=%c\\nb3=%c\\nb4=%c\\nb5=%c\\n",b1,b2,b3...
C语言菜鸟求高手解答...
第一个问题只能说是一个判定条件,不知道你要的结果是什么。。2.m++>5这个判定是先取值后运算,m=5>5这个是不成立的,所以结果为假,然后m自增m=6,接着运行else printf("%d\\",m--);同样先取值运行,m=6所以输出6,之后再自减m=5但这是没有输出的,如果运行这个 main(){ int m=5;i...
求C语言高手详解
a=a-a*a=3-3*3=-6 a=a a=-6-6=-12
求c语言高手解设有语句:int a=3;执行语句a+=a-=a*a;求变量a的值
赋值语句,从右到左依次运行:那么:int a=3;a+=a-=a*a;相当于:a-=a*a;a+=a;然后相当于:a=a-a*a;a=a+a;由于a初始化为3:a=a-a*a=3-3*3=-6;a=a+a=-6+(-6)==-12;所以最后结果就是-12