Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.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_Codeblocks_Numerical_Build Error - Fatal编程技术网

C 构建错误导致代码块退出

C 构建错误导致代码块退出,c,codeblocks,numerical,build-error,C,Codeblocks,Numerical,Build Error,我正在写一个C代码来解决一个数值问题,我定义了一个100x100的矩阵并用值填充它,a是矩阵,b是解决方案: A[i][j]=1/(i+j+1),b[i]=第i行中所有值的总和 以下是我的代码: #include <stdio.h> #include <stdlib.h> #define n 100 int main() { double A[n][n]; double b[n]; int i,j; for (i=0;i<n;i++)

我正在写一个C代码来解决一个数值问题,我定义了一个100x100的矩阵并用值填充它,a是矩阵,b是解决方案: A[i][j]=1/(i+j+1),b[i]=第i行中所有值的总和 以下是我的代码:

#include <stdio.h>
#include <stdlib.h>
#define n 100
int main()
{
    double A[n][n];
    double b[n];
    int i,j;
    for (i=0;i<n;i++)
        for (j=0;j<n;j++)
        {
            b[i]=0;
            A[i][j]=0;
        }
    for (i=0;i<n;i++)
        for (j=0;j<n;j++)
        {
            A[i][j]=1/(i+j+1);
            b[i]+=A[i][j];
        }

    int c=10;

    for (i=0;i<n;i++)
        for (j=0;j<n;j++)
        {
             printf("%lf\t",A[i][j]);
             if (c==j) printf("\n");
             c=c*10;
        }


    return 0;
}
#包括
#包括
#定义n 100
int main()
{
双A[n][n];
双b[n];
int i,j;

对于(i=0;i您有问题,所有
a
将设置为0,只需使用
1。
请使用double而不是
int

#include <stdio.h>                                                             
#include <stdlib.h>                                                            
#define n 100                                                                  
int main()                                                                     
{                                                                              
    double A[n][n];                                                            
    double b[n];                                                               
    int i, j;                                                                  
    for (i = 0; i < n; i++)                                                    
        for (j = 0; j < n; j++)                                                
        {                                                                      
            b[i] = 0;                                                          
            A[i][j] = 0;                                                       
        }                                                                      
    for (i = 0 ; i < n; i++)                                                   
        for (j = 0; j < n; j++)                                                
        {                                                                      
            A[i][j] = 1. / (i + j + 1);                                        
            b[i] += A[i][j];                                                   
        }                                                                      

    int c = 10;                                                                

    for (i = 0; i < n; i++)                                                    
        for (j = 0; j < n; j++)                                                
        {                                                                      
            printf("%lf\t", A[i][j]);                                          
            if (c == j) printf("\n");                                          
            c *= 10;                                                           
        }                                                                      


    return 0;                                                                  
}  
#包括
#包括
#定义n 100
int main()
{                                                                              
双A[n][n];
双b[n];
int i,j;
对于(i=0;i
我已经构建并运行了您的代码,与我的日常环境(LabWindows/CVI-ANSI C编译器)和默认代码::块、控制台项目中的调试模式完全相同。在这两种环境中,除了可能产生意外的结果外,它都工作得很好。(一旦构建完成,您可能需要进行一些调试)

建议查看一下您的Code::Block安装/环境。我以前必须重新安装才能使其正常工作,尽管那是很久以前的事了,我记不起具体细节了

现在,请看:
1)全局编译器设置-工具链可执行文件 我的是这样的:

2)全局编译器设置-编译器设置
我的全部默认为未选中

3)全局编译器设置-生成选项
我的是这样的:

跑步过程如下所示:

我在我的(非代码块)环境中构建了它(并运行了它)。它构建/运行得很好。有些可能包括内存限制(不太可能),编译器切换/构建设置,代码块环境的配置不好。你能显示你的构建设置吗?@Ryker你能告诉我你使用的环境是什么吗?我使用的是LabWindows/CVI。这是国家仪器公司的商业产品。但我随后在Code::Blocks中运行了它,它构建/运行得很好。嗯,这是s语句不是问题,我尝试在没有它的情况下构建程序,但是@Ôrel也不起作用-虽然将int值赋给双变量是草率的,但这不是问题所在。事实上,代码确实没有问题。我像在code::Block环境中一样运行它,它构建并运行得很好。