首页 新闻 会员 周边

assert判断 怎么才能出现字符串为空的情况?

0
[已解决问题] 解决于 2018-09-17 15:19

include <assert.h>

include <stdio.h>

int main()
{
int a;
char str[50];

printf("请输入一个整数值: ");
scanf("%d", &a);
assert(a >= 10);
printf("输入的整数是: %d\n", a);

printf("请输入字符串: ");
scanf("%s", str);
assert(str != NULL);
printf("输入的字符串是: %s\n", str);

return(0);
}

问题是我怎么输入都无法实现_字符串_为空,什么情况下,字符串是空的呢?

tianqi911的主页 tianqi911 | 菜鸟二级 | 园豆:218
提问于:2018-09-06 11:26
< >
分享
最佳答案
0

你这个只能判断名为str的字符数组的首位置的指针(&str[0])是否为NULL,不能判断字符串是否为空
assert(str!=NULL)的时候,str会自动退化为一个等于(&str[0])的指针

奖励园豆:5
hehe_54321 | 小虾三级 |园豆:750 | 2018-09-06 14:45

谢谢呀。我看了函数说明,说是判断字符串是否为空的,我什么也不输入。也不判断。

tianqi911 | 园豆:218 (菜鸟二级) | 2018-09-17 15:19
其他回答(1)
0

assert是做异常抛出的吧, 怎么扯上字符串判断了

boveyyun | 园豆:217 (菜鸟二级) | 2018-09-06 16:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册