小编El *_*Cid的帖子

使用scanf()从键盘读取时读取前一输入的换行符

这被认为非常简单,但我无法从键盘读取连续输入.

这是代码:

#include <string.h>
#include <stdio.h>

int main()
{
    char string[200];
    char character;
    printf ("write something: ");
    scanf ("%s", string);
    printf ("%s", string);
    printf ("\nwrite a character: ");
    scanf ("%c", &character);
    printf ("\nCharacter %c  Correspondent number: %d\n", character, character);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

怎么了

当我输入一个字符串(例如:计算机)时,程序会读取换行符('\n')并将其放入character.以下是显示的外观:

 write something: computer
 computer
 Character:
    Correspondent number: 10
Run Code Online (Sandbox Code Playgroud)

此外,该程序不适用于包含多个单词的字符串.我怎么能克服这些问题?

c string char

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

c ×1

char ×1

string ×1