c语言中关于字符的输入输出问题。 我想知道输入scanf(%c,a[i...

作者&投稿:但钞 (若有异议请与网页底部的电邮联系)
~ putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符。
getchar函数的功能是从键盘上输入一个字符。 函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。
printf 函数称为格式输出函数.一般形式为:printf(“格式控制字符串”,输出表列)
scanf 函数在本质上也是给变量赋值,
1》但要求写变量的地址,如a。scanf函数中没有精度控制,如:scanf("%5.2f",a);是非法的。不能企图用此语句输入小数为 2 位的实数。
2》scanf 中要求给出变量地址,如给出变量名则会出错。如 scanf("%d",a);是非法的,应改为scnaf("%d",a);才是合法的。
3》在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。
4》在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。


C语言中用scanf函数输入字符时,为什么要在输入控制符%c前面加空格?用s...
c前面的空格就是用来屏蔽空白符的,首先必须要知道C语言 scanf() 函数的特性,以及scanf()与缓冲区、标准输入流之间的联系。在此之前,先介绍两个专业术语。1.缓冲区 缓冲区是一块存放临时输入数据的内存,我们在键盘上输入数据之所以不会马上显示,就是因为数据存放在了缓冲区,在上面例子中,当我们按...

c语言 如何达到输入一句中文输出指定的中文?
C语言中,汉字是用字符串来存储的,因为,汉字是多字节组成(GBK字符集一个汉字占两个字节,UTF8字符集,一个汉字占三个字节),所以,标准C中,只能用字符串来存储汉字数据。可以采用字符串输入函数来输入中文。判断中文是不是指定数据,可以用strcmp()函数来进行比较 中文输出,可用printf("%s")来...

C语言关于怎么字符反序输出
include<stdio.h>#include<string.h>#include <stdlib.h>int main(){ int i,j,k; char str[80];\/\/ for(i=0; i<80; i++)\/\/ {\/\/ scanf("%c",&str[i]);\/\/ }t \/\/注意你的输入有问题 gets(str);\/\/ for(i=0,j=strlen(str)-1; i<j; i++,...

C语言 字符串的输出,为什么输出那么多‘烫’呢?
输出"烫烫烫烫"是因为vc会自动把未用函数的局部变量空间按字节全部初始化为CC。而定义的字符数组空间不够,所以就占用了那部分不属于自己的空间,因为cout输出char*是要遇到空字符才停止的,所以便把那些垃圾都打出来了。即是说在最后没有字符串结束标志'\\0'。

关于C语言字符串数组输入问题?
这当然不行啊,char *a[11];表示定义了11个字符型指针,每个指针还没有指向有存储空间的内存地址。如果想要能运行需要申请内存加上 a[0]=(char*)malloc(100);

C语言自学中,关于输出大写字符的问题,详情见如下
include<stdio.h>#include<math.h>int main(){ int score; char A='A',B='B',C='C',D='D',E='E'; printf("enter your score(between'0-100'):"); scanf("%d",&score); if(score>=90 && score<=100) printf("Your grade is:%c",A); else if(scor...

c语言 输出字符串中的数字
嗯 是这样子,我来帮你整理下这题目的思路。首先,你发现了这个题目的关键地方,就是检查一个字符是数字还是字母 其次,你要知道一个地方,输入字符串时,C是用CHAR 这一字符型存储的,既然是字符型,所以到时遵循的就是ASCLL码。恩,现在我们再来了解一下ASCLL码,在ASCLL码表中,0~9所对应的是...

一道关于C语言字符串输出的问题
你程序中的%8.4s 就是格式化字符串的控制,当然有些可以在里面加入需要输入或者输出的长度参数。。。这些当然是有拥护根据实际的需要来写的。比如:a[]="china";printf("%4s",a); \/\/这里输出4个字符,结果是 chin printf("%5s",a); \/\/这里输出4个字符,结果是 china PS:简单的例子...

c语言中,%c和%s在输入和输出字符串的时候有什么区别?
输入:1、赋值 c输入函数只会对一个字节空间赋值,而%s会一直赋值,直到输入中遇到空白字符为止。2、地址符 输入的时候scanf("%c", &a);这里的&不能少,而scanf("%s",s);这里不能有&符号。输出:1、长度 c只能输出一个字符,%s输出的是一串字符,直到某一个字节内存的元素为字符'\\0'时,...

如何输出C语言中的‘\\0’
C语言中'\\0'作为字符时,代表字符串结束符,属于不显示的特殊字符,所以以字符或者字符串方式,均无法输出'\\0'。不过在C语言中,字符是以ascii码方式存储的,所以每个字符同样可以按照整型处理。所以要输出'\\0', 可以使用输出整型的方式,如 printf("%d", '\\0');这样输出的值为0。

蒙阴县17850263038: c语言中关于字符的输入输出问题. 我想知道输入scanf("%c",a[i]);和scanf("% -
纪窦通脉: putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符. getchar函数的功能是从键盘上输入一个字符. 函数只能接受单个字符,输入数字也按字符处理.输入多于一个字符时,只接收第一个字符. printf 函数称为格式输出函数.一般...

蒙阴县17850263038: 计算机C语言单个字符输入输出问题 -
纪窦通脉: 1. scanf不对回车进行处理,它是以空格作为字符输入的结束. 而getchar()会对空格进行处理,以回车作为输入结束. 2. 你输入123回车,回车符被c4接收,c5,c6接收4,5 3. 结果为:4.5. 正确输入方法: 123456

蒙阴县17850263038: c语言的字符输入与输出字符. -
纪窦通脉: 首先你写的就有问题 应该这样写;scanf("%c",&x);putchar(x);其实他俩的功能一样只不过输入和输出的格式不一样,getchar和putchar只能处理字符,而scanf的功能明显比他多.

蒙阴县17850263038: 字符数组的输入与输出 c语言 -
纪窦通脉: char x[100][8]; 你这里定义的一个字符数组长度为 8 ,而你2113的 输入 20000001长度为 8,那么那个结束符 '\0' 就没地儿存放了,也就是说你的 x[0] 的后面是没有 \0 的,5261直接就是存储 x[1] 了,那么你在输出的时候,输出 x[0] ,在 x[0] 的后面没有找到 \0 ,它会继续找,一4102直到你输入的最后一个字符数组后,哪里有1653个 回车 存在内存里了,结束,也就是 x[0] 输出的是内你输入的全部字符,x[1] 输出的是你的除了 x[0] 之后的所有字符.你要输入的是 20000001,那么容你的字符数组长度应定义为 9个长度,即 char x[100][9];

蒙阴县17850263038: C语言输入输出字符串 -
纪窦通脉: char ch[5]表示的是定义了一个字符数组(即字符串),数组单元有5个,每个单元都是字符型,由于字符串是用\0作结束的,5个单元的字符数组实际上能完整存储的只能是长度不超过4个字符的字符串,多了的话就要占用其他单元了(这些单元有可能会被系统分配给其他变量,而能够用来存储字符串的就是你定义的这5个单元的字符数组),可能会出现溢出,也就是有时候会出现输出的字符串后面有乱码 char ch表示定义了一个字符变量,用scanf为其赋值的话应该用%c,即scanf("%c",&ch),它只能表示一个字符 char ch[]数组定义不允许[]里为空 char ch[1]表示的也是一个字符数组,所以你可以输入字符串,同样随便输入就有可能溢出

蒙阴县17850263038: 一个C语言字符串输入问题 -
纪窦通脉: 我也试了一下,没问题,你到底是什么问题,是要在s1或s2中输入空格吗?那么用gets函数;gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符. 其调用格式为:gets(s);其...

蒙阴县17850263038: C语言程序编写 字符a的输入和输出 -
纪窦通脉: char a; scanf("%c",c); printf("%c",c);

蒙阴县17850263038: C语言的字符输出问题 -
纪窦通脉: 你可以添加wchar.h获取宽字符定义(自动字符被定义成短整型,可以表示汉字),但只能用于windos编程 如果编控制台程序,应把汉字定义成字符串 char* b[]={"黄","本","宁","a"}; 输出时不能用%c(因为他是输出字符型的) 应使用%s 另:若使用了ASCII拓展(定义128~255的字符)则输出的将不是汉字,而是所谓“乱码”

蒙阴县17850263038: c语言中如何输入输出字符串 -
纪窦通脉: puts()和gets()都是数组函数,输入或输出前要定义数组 例如: char a[50]; gets(a); puts(a); 就是一个简单的输入后再将输入的东西输出,puts()的输入和printf的输出是有一定的区别的,puts()遇到'\0'就终止,而用printf则不会这样. 例如: char a[50]; gets(a); puts(a); printf("%s",a); 如果正好输入50个字符,则两次输出一致.但如果输入字符不足50个,puts()输出输入的全部字符,而没有输入的不输出,而printf则不能识别'\0',所以会出现乱码.

蒙阴县17850263038: C语言 字符串输入输出问题 -
纪窦通脉: char i,j; 改为 char i[100],j[100]; //字符数组啊

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网