为什么编译器会发出“警告:赋值在没有强制转换的情况下从指针生成整数”?

我不明白为什么我在尝试编译时会遇到错误。 我说错了

fractions.c:在函数“main”中:
fractions.c:35:24:警告:赋值从指针生成整数而没有强制转换[默认情况下启用] fractions.c:38:24:警告:赋值从指针生成整数而没有强制转换[默认启用] fractions.c: 41:24:警告:赋值从指针生成整数而没有强制转换[默认情况下启用] fractions.c:44:24:警告:赋值从指针生成整数而没有强制转换[默认情况下启用] fractions.c:48:11:警告:未使用的变量“fArray”[-Wunused-variable]“

#include  #include  typedef struct{ int numerator; int denomonator; char operator; int num2; int den2; } fraction; void printFraction(fraction f); int main(){ fraction myFraction; char input; printf("Enter the numerator of fraction 1: "); scanf("%i", &myFraction.numerator); printf("Enter the demoninator of fraction 1: "); scanf("%i", &myFraction.denomonator); printf("Enter the numerator of fraction 2: "); scanf("%i", &myFraction.num2); printf("Enter the demoninator of fraction 2: "); scanf("%i", &myFraction.den2); printf("\n\nEnter the operation you would like to perform\n"); printf("(1) for addition\n(2) for subtraction\n(3) for multiplication)"); printf("\n(4) for division\n"); scanf("%c", &input); switch(input){ case '1': myFraction.operator = "+"; break; case '2': myFraction.operator = "-"; break; case '3': myFraction.operator = "*"; break; case '4': myFraction.operator = "/"; break; } fraction fArray[] = {myFraction}; printFraction(myFraction); return 0; } void printFraction(fraction f){ printf("%i/%i %c %i/%i\n", f.numerator, f.denomonator, f.operator, f.num2, f.den2); } 

这是一个字符串文字 (ISO C99 6.4.5):

 "+" 

你想要一个字符常量 (ISO C99 6.4.4.4):

 '+'