C - "space bar"后扫描字符终止的问题



当我输入一个单词时,我按空格键,然后我不知道为什么,但我需要再输入一个单词或一个字母来停止扫描。

    #include <stdio.h >
        char string1[20];
    char a='a', b='b', g='g', d='d', e='e', v='v', o='o';
    int i;
    int sum;
    printf (" my word is:n");
    scanf( "%19s ", string1);
 sum=0;
       for (i = 0; string1[i] !=''; i++)
    {
    if (string1[i]==a ) {sum=  +1;} else
    if (string1[i]==b ) {sum=  +2;} else
    if (string1[i]==g ) {sum=  +3;} else
    if (string1[i]==d ) {sum=  +4;} else
    if (string1[i]==e ) {sum=  +5;} else
    if (string1[i]==v ) {sum=  +6;} else
    if (string1[i]==o ) {sum=  +50;} else
    {sum=0;} }
    printf ("%dn" , sum);
    return 0;
    }
scanf( "%sn ", string1);

你要求scanf继续扫描,直到你在单词后面输入空格以外的东西。如果只读一个单词,则单独使用%s

最新更新