c语言 - 编译错误"s is undeclared,",但它是"scanf"的结果



这是我的代码,用于计算串联或并联电阻器,错误在第12行上

if ( sp == s )

完整代码,以防早期错误

#include <stdio.h>
int main ( void ) {
    char sp ;
    float a, b, resistancep, resistances ;
    printf ("Enter s for resistor in series or p for paralleln") ;
    scanf ( " %c", &sp ) ;
    printf ("Enter two resistors calculaten" ) ;
    scanf ("%f%f", &a, &b ) ;
    resistancep = a * b / ( a + b ) ;
    resistances = a + b ;
    if ( sp == s ) {
            printf ( "The total resistance is%fn", resistances ) ;
    }
else {
            printf ( "The total resistance is%fn", resistancep ) ;
    }

我也试过

if ( sp == "s" )

if ( sp, s )

您可能想要

if ( sp == 's' )

只是s正在查找一个名为s的变量,您尚未声明该变量。

"s"通常指字符串,它是一个字符数组。您正在从输入和"s" != 's'中读取单个字符。记住,数组(几乎)从不等于数组中的一个元素。

相关内容

  • 没有找到相关文章

最新更新