Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C、 数组,无法识别文件格式_C_Dev C++ - Fatal编程技术网

C、 数组,无法识别文件格式

C、 数组,无法识别文件格式,c,dev-c++,C,Dev C++,作为家庭作业,我们必须编写我们在学校写的程序。我已经键入它没有错误(与我的同事核实)和程序不工作,我使用DEV C++和错误日志说,文件不承认:文件格式不承认。 我尝试使用整数而不是双精度,但它保持不变…我不知道是什么错了 #include <stdio.h> #define VELIKOST 23 int main (void) { double dPolje[VELIKOST]; int iStevec,iVecje=0; printf("Algoritem, ki

作为家庭作业,我们必须编写我们在学校写的程序。我已经键入它没有错误(与我的同事核实)和程序不工作,我使用DEV C++和错误日志说,文件不承认:文件格式不承认。 我尝试使用整数而不是双精度,但它保持不变…我不知道是什么错了

#include <stdio.h>
#define VELIKOST 23
int main (void)
{
  double dPolje[VELIKOST];
  int iStevec,iVecje=0;

  printf("Algoritem, ki določi koliko elementov podatkovnega polja imajo vrednosti vecje ali enake od 10 \r\n");

  for(iStevec=0;iStevec<VELIKOST;iStevec++)
  {
    printf("Vnesite %i. stevilo:",iStevec=iStevec+1);
    fflush(stdin);
    scanf("%lf",&dPolje[iStevec]);

      if(dPolje[VELIKOST]>=10)
      {
        iVecje++;
        printf("Element dPolje [%i]=%f.",iStevec,dPolje[iStevec]);
      }
       printf("%i elementov polja je imelo vecje ali enako vredost 10.",iVecje);
       return(0);
  }
}
#包括
#定义VELIKOST 23
内部主(空)
{
双dPolje[VELIKOST];
int iStevec,iVecje=0;
printf(“Algoritem,ki določi koliko elementov podatkovnega polja imajo vrednosti vecje ali enake od 10\r\n”);
对于(iStevec=0;iStevec=10)
{
iVecje++;
printf(“元素dPolje[%i]=%f.”,iStevec,dPolje[iStevec]);
}
printf(“%i elementov polja je imelo vecje ali enako vredost 10.”,iVecje);
返回(0);
}
}

<>代码> < P>我猜想DEV C++不支持斯洛文尼亚语。 创建新文件并尝试以下代码:

#include <stdio.h>

#define SIZE 23

int main(){
    double dField[SIZE];
    int i, larger = 0;

    printf("This algorithm, determines how many data field items have values greater than or equal to 10.\n");

    for (i = 0; i < SIZE; i++){
        printf("Enter field number %i:", i + 1); //Note I fixed this original code had i = i + 1
        //fflush(stdin); unneeded
        scanf("%lf", &dField[i]);

        if (dField[i] >= 10){
            larger++;
            printf("Field number %i = %lf", i, dField[i]);
        }
    } //Moved this above final output and return
    printf("%i field items were greater than or equal to 10 ", larger);
    return 0;
}
#包括
#定义尺寸23
int main(){
双D字段[大小];
int i,大于等于0;
printf(“此算法确定有多少数据字段项的值大于或等于10。\n”);
对于(i=0;i=10){
更大的++;
printf(“字段号%i=%lf”,i,d字段[i]);
}
}//将其移到最终输出和返回的上方
printf(“%i个字段项大于或等于10”,较大);
返回0;
}
我希望这能奏效


不管怎样,我肯定会更换编译器。是一个功能齐全的IDE。

您确实意识到
fflush(stdin)
是一种未定义的行为,对吗?(你为什么还要尝试刷新它?
stdin
是一个输入流……你不想刷新
stdout
)而且,你确实意识到
iStevec=iStevec+1
+iStevec
是等价的,所以每次迭代都要增加循环计数器两次?此外,“文件格式未被确认”错误,如果是编译器错误,与数组无关,而不是与代码相关,而是与编译器设置和/或调用有关。@ TealPosioDig牛角包在一些教程中找到它们。也许在读取源文件时,DEV C++没有使用正确的字符编码。如果IDE试图将字符串文本中的非拉丁字符读取为US-ASCII或其他错误编码,则可能会导致此错误。请检查
scanf(“%lf”,&dPolje[iStevec])的结果-->
如果(1!=scanf(“%lf”,&dPolje[iStevec])中断即使是一个简单的“hello World”程序也能工作吗?可能是您编译的代码与您的计算机不兼容。@Janac9相同的错误?很明显,这是编译和运行的。我怀疑您的DEV C++安装有问题。我再怎么强调也不为过,你会浪费大量的生命来让它发挥作用。有没有理由不能更改IDE?