为什么较短的字符串("paid"
)被该程序打印出来?
#include <stdio.h>
int main()
{
char s[] = "paid", t[] = "paviDboss";
if ((strlen(s) - strlen(t)) > 0)
printf("%s\n", s);
else
printf("%s\n", t);
}
答案 0 :(得分:6)
strlen
的返回类型为size_t
,这是无符号类型。减法的结果也是size_t
,因此只能是正数。
只需使用
if(strlen(s) > strlen(t))