学习随笔-scanf()与putchar()

1 int ch = getchar();     //getchar()函数是键盘输入函数,其功能是从键盘上输入一个字符.简单来说就是getchar()函数在C程序中的功能是接收一个字符
2     putchar(ch);             //scanf()函数是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量中
3     printf("%c\n", ch);         //scanf()获取数值时,会将一串连续的数字作为一个数值,遇到空格或字符会结束获取
4     float a, b, c;                   //例:123|123,123 234,123-123,123+234获取的数值分别为123,123和234,123和-123,123和234.
5     scanf("%f%f%f", &a, &b, &c);     //由此可见,在输入时,可用[空格],[Tab],[回车],[+],[-]切开数字,而[+],[-]将会作为下一个数值的符号
6     printf("%f\n%f\n%f\n", a, b, c);   //当数值类型为浮点型时,[.]也可以作为切断数字的符号,如123.123.123.123,得到的数值为123.123001,0.123000,0.123000        
7                          //读取到其他符号时,会将符号后连续的部分丢弃    123|123 ---> 123                        

借用今天在博客园看到的几个代码

1     char a, b, c;
2     printf("please input num a:\n"); 
3     scanf("%c", &a);
4     printf("please input num b:\n");
5     scanf("%c", &b);                            
6     printf("please input num c:\n");
7     scanf("%c", &c);
8     printf("一共键入了那些字母?a:%c,b:%c,c:%c", a, b, c); //此处之所以会出现问题,与[回车]符的特点有关,它作为确定按钮来推动程序运行,同时又具有符号的属性
1     char password[20] = {0};//那么我们用scanf()获取字符串的时候是否会获取结束时敲的回车呢?
2     scanf("%s", password); //答案是不会,因此可以见,回车只会被下一个scanf()或getchar()获取.
 1     char a, b, c;
 2     printf("please input num a:\n");
 3     scanf("%c", &a);
 4     int ch1 = getchar();
 5     //putchar(ch1); 
 6     printf("please input num b:\n");
 7     scanf("%c", &b);
 8     int ch2 = getchar();
 9     //putchar(ch2);
10     printf("please input num c:\n");
11     scanf("%c", &c);
12     printf("%c,%c,%c", a, b, c);  //因此在此处,scanf()后加入getchar()函数来接收[回车]    

有一点比较有意思

 1     int ch1 = getchar();
 2     putchar(ch1);
 3     short ch2 = getchar();
 4     putchar(ch2);
 5     float ch3 = getchar();
 6     putchar(ch3);
 7     double ch4 = getchar();
 8     putchar(ch4);
 9     char ch5 = getchar();
10     putchar(ch5); //存放到ch1~ch5中的是字符对应的ASCII码

另外关于EOF(后续再做了解)

1     int ch = 0;
2     while ((ch = getchar()) != EOF)
3     {
4         putchar(ch);
5     } //getchar() [ctrl+z] EOF(end of file(-1))

 

上一篇:输入输出 (格式化 非格式化)


下一篇:C语言学习(一)ctype.h字符测试函数