gpt4 book ai didi

if 语句中的 C 字符串比较不起作用

转载 作者:行者123 更新时间:2023-11-30 19:06:26 25 4
gpt4 key购买 nike

我想在 if 语句中比较之前输入的字符串,但它不起作用。我已经尝试过该线程中解释的内容:Compare with string in if statement doesn't work但运气不好。

这是我的代码:

#include <stdio.h>
#include <string.h>

char inputUnit[2];
float inputValue, returnValue;

int main() {

printf("Enter value to convert: ");
scanf("%f", &inputValue);

printf("Enter unit to convert: ");
scanf("%s", inputUnit);

if (strcmp(inputUnit, "in")) {
returnValue = inputValue * 2.54;
printf("%.2f %s = %.4f cm\n", inputValue, inputUnit, returnValue);
}
}
return (0);

那么,我做错了什么?谢谢。

最佳答案

如果字符串比较相等,

strcmp 返回 0

尝试否定 if 语句,或显式检查 0

if (!strcmp(...))
if (strcmp(...) == 0)

strcmp Reference

Return value

  • Negative value if lhs appears before rhs in lexicographical order.
  • Zero if lhs and rhs compare equal.
  • Positive value if lhs appears after rhs in lexicographical order.

关于if 语句中的 C 字符串比较不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48133294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com