strlen() 求解解决方案

strlen() 求解
//boolean.c -- 使用 _Bool 变量
#include<stdio.h>
#include<string.h>
int main(void)
{
long num;
long sum = 0L;
char input_is_good;
printf("Please enter an integer to be summed.  ");
printf(" (q to quit): ");

input_is_good = (scanf("%1d",&num) == 1);
while(input_is_good)
{
sum = sum + num;
printf(" Please enter next integer (q to quit) : ");
input_is_good = (scanf("%1d", &num) == 1);
}
printf(" Those integers sum to %1d.and the type int has %d.or strlen is  %d\n",sum,sizeof(input_is_good),strlen(input_is_good));
return 0;
}
我想看一下 bool和其他的类型的区别,后来得到了正确的答案,只是,我后来又加上了  strlen()。然后程序运行就显示 段错误。
难道 strlen 只能用作字符?
------解决方案--------------------
只能用字符串类型的变量做参数