scanf("%3c",&ch);printf("%c",ch);结果为

如题所述

%3c表示读入三个字符

而ch为char类型的变量,尽管缓冲区读入了三个字符,但是ch的值只是等于第一个字符,故只输出输入的第一个字符的值。
温馨提示:内容为网友见解,仅供参考
无其他回答

scanf("%3c",&ch);printf("%c",ch);结果为
而ch为char类型的变量,尽管缓冲区读入了三个字符,但是ch的值只是等于第一个字符,故只输出输入的第一个字符的值。

c语言,scanf("%3c", &ch),如果输入abc,那么ch得到的字符是什莫?_百度...
&ch给的是一个字符空间,原语句改为scanf(",ch)额,不是你在c前面加个3就能行的- - 但是;%s"才是录入字符串的格式;,就根本原因讲;这样得到的是一个以ch为首地址存储单元的字符串 scanf("%s",ch);,你这是单个字符输入,并且记着不能在ch前+上‘&’...

下面这个c语言题,应该怎么输出
ch是字符变量,只能保存一个字符,改成如下:include <stdio.h> int main(void){ char str[10];gets(str);printf("%s\\n",str);return 0;}

#include <stdio.h> main( ) { char c; scanf(
char c;scanf("%3c",&c);\/\/输入c字符,但之前要补两位空格 %3c表示这个字符要占三个字符位 printf("c=%c\\n",c)\/\/输出c=“你输入的c值,%c代表输出为字符,如你输入65,则输出不是65,而是对应的ASCII表中的字符A”}

C语言关于scanf函数问题
第一个问题,因为你的scanf函数使用了域宽来指定读入的格式。所谓域宽,就是说读入的时候把某个宽度内的值付给某变量。那么。你第一个参数读入规则是%3c,意思是设置域宽为3,读入一个char型数据。你输入的是abcde。那么前面的abc将作为第一个参数给一个char型数据。而char型数据只需要一个字符,所以a...

很简单的C问题:char ch;scanf("%3c",&ch)这个语句中的3是不是多余的...
不是多余的,虽然char只可以接受一个字符,但是执行这条语句scanf("%3c",&ch)的输出结果中会给你3个字符的位置,假如说 char ch='a'那结果就是 a 注意,在a的前面还有两个空格 而不加 3 就没有这种效果

...main() {char c; scanf("%3c",&c); printf("c=%c\\n",c); }_百度...
因为char c表示一个字符,你输入ABC只能接受到第一个字符,若要全部接都需要这样写 char temp[10];scanf("%3s",temp);希望可以采纳为答案

很简单的C问题:char ch;scanf("%3c",&ch)这个语句中的3是不是多余的...
1.int a=b=c=1不正确在于 你定义三个变量即要开辟三个内地址,也就是地址列表那就应该用逗号隔开所以int a,b,c代表已开辟三个变量,后面当然可以调用了 2.错 1234我们可以理解为 一千二百三十四而不是字符,'1' '2' '3' '4'才是4个字符,别忘了定界符噢 3.你所提到的3代表宽度 所以你...

C程序设计初学问题
ch是char类型的,从内存的角度来讲,系统只分配给它1个字节的内存,也就是说,它只有存放一个字符的空间。而%3c主要用在printf语句中,它表示输出一个字符,并在前边空出两个空格,也就是一共用了3个位置,它并不表示3个%c

C语言关于scanf函数的问题?
scanf("%3d",&a);是通过十进制整数3指定输入的宽度,即字符数,超出部分不赋值,故题中只把123赋值给a。scanf("%3c",&ch);通常%3c可以用来读入三个连续的字符,由于这里ch是一个变量,而不是一个数组,所以只能放下一个字符,即题中将4作为一个字符型数据,赋值给ch变量。超出的部分没有被保存...

相似回答