关于getchar内为何printf 后不用scanf 就能读取你的输入
如下代码:#include <stdio.h>
int main()
{
int count = 0;
printf("请随意一个英文句子:");
while (getchar() != '\n')
{
count = count + 1;
}
printf("你总共输入了%d个字符!\n", count);
return 0;
}
求问大家
1.为什么printf 后不像之前的语句需要输入Scanf才能读取用户的输入 而是直接可以计算,是getchar的特例吗
2.我自己本来想加一句scanf("%s",&frase);但后面发现一开始无法定义字符串frase,定义的话只能用char定义字符,所以迷茫了,请问有可以定义字符串的函数吗 {:10_249:} 1. char 他的内存分布为 一个字节
2. %ch 是一个字符 如果是单个字符串就需要 用scanf("%ch",&tmp)
3.%s 代表是一个字符串,字符串的含义就是 字符的数组 所以你可以用 char loopscanf("%s",loop) c语言没有特意的字符串类型
你可以定义一个数组来储存字符串
char array;
然后 scanf("%s",array);
不用&取地址因为数组名本来就 代表第一个字符的地址
还有就是字符串常量char *p="..." ;只不过不能改 相当于 const char *p;
while (getchar() != '\n')
{
count = count + 1;
}
getchar一次读取一个字符,你在循环内,当然可以循环读取啦 一次循环count就加一
页:
[1]