对二进制have int和complex int的操作无效

对二进制have int和complex int的操作无效,c,C,我得到以下错误(以及更多我可以纠正的语法错误)。知道为什么以及如何解决吗 In function 'main':| 21|error: invalid operands to binary < (have 'int' and 'complex int')| 24|error: invalid operands to binary % (have 'complex int' and 'int')| 26|error: invalid operands to binary <=

我得到以下错误(以及更多我可以纠正的语法错误)。知道为什么以及如何解决吗

In function 'main':|

21|error: invalid operands to binary < (have 'int' and 'complex int')|


24|error: invalid operands to binary % (have 'complex int' and 'int')|

26|error: invalid operands to binary <= (have 'int' and 'complex int')|

28|error: invalid operands to binary <= (have 'int' and 'complex int')|
函数“main”中的
:|
21 |错误:二进制<的操作数无效(具有'int'和'complex int')|
24 |错误:二进制操作数无效%(具有“复数int”和“int”)|
26 |错误:二进制的无效操作数
5i
是一个()。只需使用
5
。(或者
5*i
,因为你说你想乘。)


将来,您可以通过几个简单的步骤自己解决此类问题:

  • 读取错误:

    21 |错误:二进制操作数无效

  • 查找行:


    if(否[j]如果不是的话,
    5i
    是一个打字错误吗?不看代码,我想让它乘以5..就像我想把值与5i进行比较,当我从1开始增加..所以i=1,5,然后i=2..10等等..@user3424954
    5*i
    ,然后使用5*i.C不理解代数符号。
    i
    suffix和对整数复杂类型的支持是特定于gcc的扩展(从C99起浮点复杂类型是标准的,从C11起是可选的)。
    #include<stdio.h>
    main()
    {
      int t,flag,i,j,k,no[20];
      scanf("%d",&t);
      for(i=1;i<=t;i++)
      scanf("%d",&no[i]);
    
      for(j=1;j<=t;j++){
    
        if(no[j]%3==0){
        for(i=1;i<=no[j];i++){
          printf("5");}
          printf("\n");}
    
    
        else{
                i=1;
                flag=0;
        while(flag==0){
        if(no[j]<5i)
            printf("-1");
    
        else if((no[j]-5i)%3==0){
            flag=1;
            for(k=1;k<=(no[j]-5i);k++)
                printf("5");
            for(k=1;k<=5i;k++)
            printf("3");}
            else
            i++;
        }