C语言 scanf混合输入

一、hello

gcc hello.c -o main.o 生成main.o文件

gcc hello.c 生成 a.out

执行 ./main.out 或者 ./a.out 运行程序

复制代码
#include "stdio.h"

int main()
{
    printf("hello\n");
}

运行结果

复制代码
sumuchen@chem4111 Ccode % gcc hello.c -o main.out
sumuchen@chem4111 Ccode % ./main.out
hello
sumuchen@chem4111 Ccode % 

二、scanf整型输入

用空格分割

复制代码
#include "stdio.h"

int main(){
    int a,b,c;
    printf("请输入3个数\n");
    scanf("%d%d%d",&a,&b,&c);
    printf("你输入的数据是%d,%d,%d\n",a,b,c);

    return 0;
}

结果

复制代码
sumuchen@chem4111 Ccode % ./scanfint 
请输入3个数
1 2 3
你输入的数据是1,2,3

用逗号分隔

复制代码
#include "stdio.h"

int main(){
    int a,b,c;
    printf("请输入3个数\n");
    scanf("%d,%d,%d",&a,&b,&c);
    printf("你输入的数据是%d,%d,%d\n",a,b,c);

    return 0;
}

结果

复制代码
sumuchen@chem4111 Ccode % gcc scanf.c 
sumuchen@chem4111 Ccode % ./a.out 
请输入3个数
1,2,3
你输入的数据是1,2,3

三、scanf 字符输入

空格也是字符 ,字符输入不能用空格

复制代码
#include "stdio.h"

int main(){
    char a,b,c;
    
    printf("请输入3个字符\n");
    scanf("%c%c%c",&a,&b,&c);
    printf("你输入的字符是%c,%c,%c\n",a,b,c);

    return 0;
}

结果

复制代码
sumuchen@chem4111 Ccode % ./scanf
请输入3个字符
abc
你输入的字符是a,b,c

四、混合输入

在输入数值数据时,如输入空格、回撤,tab键或遇非法字符(不属于数值字符)认为该数据结束

复制代码
#include <stdio.h>

int main() {
    int a;
    char b;
    float c;

    printf("请输入一个整数,一个字符和一个浮点数:\n");
    scanf("%d%c%f", &a, &b, &c);

    printf("你输入的数据是%d%c%f\n", a, b, c);
    return 0;
}

结果

复制代码
sumuchen@chem4111 Ccode % ./scanf
请输入一个整数,一个字符和一个浮点数:
2c2.3
你输入的数据是2c2.300000
相关推荐
感哥20 分钟前
C++ std::set
c++
侃侃_天下1 小时前
最终的信号类
开发语言·c++·算法
博笙困了1 小时前
AcWing学习——差分
c++·算法
青草地溪水旁2 小时前
设计模式(C++)详解—抽象工厂模式 (Abstract Factory)(2)
c++·设计模式·抽象工厂模式
青草地溪水旁2 小时前
设计模式(C++)详解—抽象工厂模式 (Abstract Factory)(1)
c++·设计模式·抽象工厂模式
感哥2 小时前
C++ std::vector
c++
zl_dfq2 小时前
C++ 之【C++11的简介】(可变参数模板、lambda表达式、function\bind包装器)
c++
每天回答3个问题2 小时前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
凯子坚持 c2 小时前
精通 Redis list:使用 redis-plus-plus 的现代 C++ 实践深度解析
c++·redis·list
小莞尔3 小时前
【51单片机】【protues仿真】基于51单片机的篮球计时计分器系统
c语言·stm32·单片机·嵌入式硬件·51单片机