C语言键盘输入单字符,连续字符,带空格字符,未知长度数组等的写法

1. 从键盘输入单字符(不管输入多少个字符,只接受第一个字符)

#include <stdio.h>
int main()
{
	printf("请输入一个字符");
	char s;
	s = getchar();
	printf("%s\n", &s);
	return 0;
}

运行结果:

 

2. 从键盘输入一串字符,只接受空格前的字符串

#include <stdio.h>
int main()
{
	printf("请输入一串字符");
	char name;
	scanf("%s", &name);
	printf("%s\n", &name);
	return 0;
}

运行结果:

3.  从键盘输入一串字符,包含空格等,直到输入Enter

#include <stdio.h>
int main()
{
	char name[30];
	printf("Input your name:\n");
	gets(name);
	printf("Your name is: %s\n", name);
	return 0;
}

运行结果:

4. 从键盘输入一串数字,不带空格(只会接受空格前的)

#include <stdio.h>
int main()
{
	printf("请输入温度");
	float degrees;
	scanf("%f", &degrees);
	printf("温度为%.2f\n", degrees);
	return 0;
}

运行结果:

5.从键盘输入未知长度的数组,直到输入Enter

#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("请输入数组,空格隔开:");
    int i=0,n=0;
    int *a=(int*)malloc(n*sizeof(int));
    char b;
    while((b=getchar())!='\n')
    {
        ungetc(b,stdin);
        a = (int*)realloc(a,++n*sizeof(int));
        scanf("%d",&a[i++]);
    }

    //打印
    printf("数组为:\n");
    for (int i = 0; i < n; ++i)
    {
    	printf("%d ", a[i]);
    }
    printf("\n");
    return 0;
}

运行结果:

 

全是日常使用中经常遇到的输入问题,懒得每次遇到都去搜该怎么写,后面遇到其他输入问题,再做记录

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值