无法检查空字符串

时间:2016-02-18 07:53:58

标签: c++

#include<cstdio>
#include<cstring>
using namespace std;

int main()
{
    int t,l;
    char a[22];
    a[0]='0';
    for(t=1;t<=20;t++)
    {
        l=1;
        scanf("%s",a+1);

        if(strlen(a)>1)
            l=strlen(a);
        printf("%d\n",l-1);
    }
     return 0;
}

当我输入长度为&gt; = 1的任何字符串时,我得到字符串长度的正确答案但是当只使用按键输入或空格时它不会打印0.因为字符串是空的(仅包含它应该打印0(l-1 = 0),因为如果条件变为假。

1 个答案:

答案 0 :(得分:-1)

使用fgets。这个答案适用于C.

更改

scanf("%s",a+1);

fgets (a, sizeof (a), stdin);