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", °rees);
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;
}
运行结果:
全是日常使用中经常遇到的输入问题,懒得每次遇到都去搜该怎么写,后面遇到其他输入问题,再做记录