C语言完整的获取键盘输入字符

C语言完整的获取键盘输入字符

获取输入函数

int getsline(char *result)
{
    int point = 0;
    int word;

    while(1)
    {
        word = getc(stdin);//等待用户输入或从缓存中读一个字符
        if(word != '\n')//读到回车符就认为一行指令被读完了
        {
            *result = word;//记录这个字符
            result ++;
            point ++;
        }
        else
        {
            result = '\0';//给指针末尾添加一个结束符
            result = result - point;//让指针指回字符串的头
            return 0;
        }
    }
}

测试代码

int main(int argc, char* argv[])
{
	char *line;
    line = malloc(100);
    getsline(line);
    printf("You enter:%s\n",line);
    return 0;
}
	
### 回答1: 在C语言中,可以使用`scanf()`函数来从键盘输入字符串。下面是一个示例代码: ```c #include <stdio.h> int main() { char str[100]; printf("请输入一个字符串:"); scanf("%s", str); printf("您输入的字符串是:%s\n", str); return 0; } ``` 在这个例子中,我们声明了一个字符串数组`str`,并使用`scanf()`函数从键盘输入字符串。`%s`表示输入一个字符串,输入的字符串将存储在`str`数组中。需要注意的是,`scanf()`函数默认会忽略空格和换行符,直到遇到下一个非空格字符为止。所以如果需要输入含有空格的字符串,应该使用`fgets()`函数。 ### 回答2: 在C语言中,可以使用标准库函数`gets()`或`scanf()`来从键盘输入字符串。 (1) 使用`gets()`函数: `gets()`函数可以用来读取字符串。它的原型为`char * gets(char * str)`。其工作方式是从标准输入流中读取字符,并将其存储在指定的字符数组中,直到遇到换行符为止。换行符会被替换为NULL字符,表示字符串的结束。这个函数存在缓冲区溢出的风险,因此通常不建议使用。 示例代码如下: ```c #include <stdio.h> int main() { char str[100]; printf("请输入字符串:"); gets(str); printf("你输入的字符串是:%s\n", str); return 0; } ``` (2) 使用`scanf()`函数: `scanf()`函数可以用于读取各种不同类型的输入,包括字符串。其原型为`int scanf(const char * format, ...)`。在读取字符串时,可以使用`%s`作为格式控制符。 示例代码如下: ```c #include <stdio.h> int main() { char str[100]; printf("请输入字符串:"); scanf("%s", str); printf("你输入的字符串是:%s\n", str); return 0; } ``` 以上是两种常用的从键盘输入字符串的方法。需要注意的是,使用`scanf()`函数时,输入的字符串不能包含空格,因为空格会被认为是字符串的结束符。如果需要读取包含空格的字符串,可以使用`gets()`函数或者结合使用`fgets()`函数。 ### 回答3: 在C语言中,我们使用`scanf`函数来实现键盘输入字符串的功能。`scanf`函数可以从标准输入流中读取字符串,并将其保存到指定的变量中。 首先,我们需要声明一个字符数组来存储输入的字符串。例如,我们可以声明一个长度为100的字符数组`str`来存储输入的字符串。 然后,我们可以使用`scanf`函数来实现键盘输入字符串的功能。`scanf`函数的格式控制字符串为`"%s"`,我们可以将其作为`scanf`函数的第一个参数,表示要读取的数据类型为字符串。 接下来,我们将字符数组`str`作为`scanf`函数的第二个参数,用于存储输入的字符串。在`scanf`函数调用时,我们需要使用`&`符号来获取字符数组的地址。 最后,我们可以在程序中使用`printf`函数来输出输入的字符串,以验证输入是否成功。 下面是一个简单的例子来演示如何使用C语言实现键盘输入字符串的功能: ```c #include <stdio.h> #define MAX_LENGTH 100 int main(){ char str[MAX_LENGTH]; printf("请输入一个字符串:"); scanf("%s", str); printf("您输入的字符串是:%s\n", str); return 0; } ``` 在这个例子中,我们先声明了一个长度为100的字符数组`str`来存储输入的字符串。然后,使用`scanf`函数从标准输入流中读取输入的字符串,并将其存储到`str`中。最后,使用`printf`函数将输入的字符串输出到屏幕上。 需要注意的是,在使用`scanf`函数读取字符串时,输入的字符串不能包含空格或换行符,否则`scanf`函数会将其视为输入结束。如果需要读取包含空格或换行符的字符串,我们需要使用`fgets`函数来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值