关于char类型的连续输入

这个忘了好久了

先回想吧

一 单字符

①  char m;

scanf("%d",&m);

② char m;

  m=getchar();

  putchar(m);

二 字符数组(字符串)

①   char a[10];

 int i;

for(i=0;i<10;i++){

  scanf("%c",&a[i]);

}

②   char a[10];

  gets(a[10]);

  puts(a[10]);

书本上的

我今天用的连续输入char o,p,q;

char o,p,q;

scanf("%c%c%c",&o,&p,&q);

结果lunix 里面没有被读出来o的量;

**********************************************************************

我知道了 要写一条scanf("%*c")清除输入缓冲区的回车键

田硕以前讲过 输入缓冲区的概念 当我输入的是 5,enter,abc(逗号起分隔作用并未在键盘输入)

scanf("%d",&m);

scanf("%c%c%c",&o,&p,&q);

是读入的 就是 5 enter a b(将enter读入了,没有读入c);

这的时候我要在第一个输入结束后清除输入缓冲区的数据scanf("%*c")

第二个scanf函数才不会读入enter,而是从a开始读入

**********************************************************************

  scanf("%*[^\n]") 把输入缓冲区中第一个换行字符前的数据全部丢弃,

  scanf("%*c")  把换行字符丢弃。

时间: 2024-12-25 07:21:36

关于char类型的连续输入的相关文章

String 类型与char 类型 输入

1.如果直接用csanf 输入string与char类型的,string是输入不了的 但提前申请空间就可以 #include <stdio.h>#include <string>#include<iostream>using namespace std;int main(){ string a; a.resize(2); //需要预先分配空间,resize()分配空间 scanf("%s", &a[0]); cout << a;

IO-04. 混合类型数据格式化输入(5)

IO-04. 混合类型数据格式化输入(5) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 乔林(清华大学) 本题要求编写程序,顺序读入浮点数1.整数.字符.浮点数2,再按照字符.整数.浮点数1.浮点数2的顺序输出. 输入格式: 输入在一行中顺序给出浮点数1.整数.字符.浮点数2,其间以1个空格分隔. 输出格式: 在一行中按照字符.整数.浮点数1.浮点数2的顺序输出,其中浮点数保留小数点后2位. 输入样例: 2.12 88 c 4

06-0. 混合类型数据格式化输入(5)

本题要求编写程序,顺序读入浮点数1.整数.字符.浮点数2,再按照字符.整数.浮点数1.浮点数2的顺序输出. 输入格式: 输入在一行中顺序给出浮点数1.整数.字符.浮点数2,其间以1个空格分隔. 输出格式: 在一行中按照字符.整数.浮点数1.浮点数2的顺序输出,其中浮点数保留小数点后2位. 输入样例: 2.12 88 c 4.7 输出样例: c 88 2.12 4.70 1 #include <stdio.h> 2 3 int main() 4 { 5 double a, d; 6 int b;

将一个字符串看作一个char类型的数组

有时候我们会遇到将用户输入的一句话中的某一个字符拿出来用的问题. 我们可以将用户输入的字符串看作一个char类型的数组 比如有一个字符串string a = "hello"; 要将'e'输出怎么办? 我们将a看作一个char类型的数组,然后使用for循环来遍历这个数组,然后在控制台中输出即可 for(int i = 0;i<a.Length;i++) { Console.writeLine(a[1]); } 关键是要有将字符串看作char类型数组的思维. 小菜鸟今天的一点小心得,

[转载]浅析为什么char类型的范围是 —128~+127

http://blog.csdn.net/daiyutage/article/details/8575248 在C语言中, signed char 类型的范围为-128~127,每本教科书上也这么写,但是没有哪一本书上(包括老师)也不会给你为什么是-128~127,这个问题貌似看起来也很简单容易, 以至于不用去思考为什么,不是有一个整型范围的公式吗:  -2^(n-1)~2^(n-1)-1   n为整型的内存占用位数,所以int类型32位 那么就是 -(2^31)~2^31 -1 即    -2

IO-04. 混合类型数据格式化输入

本题要求编写程序,顺序读入浮点数1.整数.字符.浮点数2,再按照字符.整数.浮点数1.浮点数2的顺序输出. 输入格式: 输入在一行中顺序给出浮点数1.整数.字符.浮点数2,其间以1个空格分隔. 输出格式: 在一行中按照字符.整数.浮点数1.浮点数2的顺序输出,其中浮点数保留小数点后2位. 输入样例: 2.12 88 c 4.7 输出样例: c 88 2.12 4.70C语言代码实现: 1 #include <stdio.h> 2 3 int main() 4 { 5 int i; 6 char

string:本质是char类型的数组

一个字符串,可以看作是多个char组成的数组,本质就是char类型数组. 字符串是 Unicode 字符的有序集合,用于表示文本.所以String 对象是 Char 对象的有序集合,用于表示字符串.String 对象的值是该有序集合的内容,并且该值是不可变的.字符串本质是字符数组--这是一个非常重要的概念,了解这个概念就可以全面的理解和把握字符串的各种特征. 由于字符串是字符数组,因此字符串可以直接当数组使用,通过下标的模式访问字符串中的每一个字符,或者可以将字符串转为字符数组. static

PAT IO-04 混合类型数据格式化输入(5)

1 /* 2 *PAT IO-04 混合类型数据格式化输入(5) 3 *2015-08-01 4 作者:flx413 5 */ 6 #include<stdio.h> 7 int main() 8 { 9 int a; 10 float b, d; 11 char c; 12 scanf("%f%d %c%f", &b, &a, &c, &d); 13 printf("%c %d %.2f %.2f", c, a, b,

在vs中char类型的实参与LPCWSTR类型的形参类型不兼容怎么解决?

今天在做 COS脚本解释器的时候,遇到了这个问题 先了解一下 LPCTCHAR 这个东东 LPCTSTR用来表示你的字符是否使用UNICODE, 如果你的程序定义了UNICODE或者其他相关的宏,那么这个字符或者字符串将被作为UNICODE字符串,否则就是标准的ANSI字符串. 那么什么叫UNICODE(统一码)??? 背景知识:    计算机发明后,为了在计算机中表示字符,人们制定了一种编码,叫ASCII码.ASCII码由一个字节中的7位(bit)表示,范围是0x00 - 0x7F 共128个