gpt4 book ai didi

c - 下面的代码出现段错误。我不知道我哪里出了问题

转载 作者:行者123 更新时间:2023-11-30 18:50:19 26 4
gpt4 key购买 nike

下面是实现公式 (1+x)^2 的代码:

#include <stdio.h>
#include <stdlib.h>
#include "nCr.h"
#include <time.h>
#include <sys/time.h>

int main(int argc, const char * argv[])
{
int k = 0;
int n;
int c;

struct timeval start, end;

if (argv[1][0] == '-' && argv[1][1] == 'h') {
printf("Usage: formula <positive integer>");
} else {
n = atoi(argv[1]);

// gettimeofday will give the execution time of program in microsecond.

gettimeofday(&start, NULL);

printf("(1 + x)^%i = ", n);

if (n == 0)
printf("0");

for (; k <= n; k++) {

// Here nCr is an assembly code which compute coefficient

c = nCr(n, k);

if (c == -1) {
printf("Multiplication overflow. \n");
return 1;
} else {
if (k != 0)
printf("%i x^%i ",c , k);

if (k != n && k != 0)
printf("+ ");
}
}

gettimeofday(&end, NULL);

}

printf("\n%ld microseconds\n", ((end.tv_sec * 1000000 + end.tv_usec)
- (start.tv_sec * 1000000 + start.tv_usec)));

return 0;
}

在 Linux gcc 上出现段错误

最佳答案

发生这种情况可能是因为您尝试访问不存在的参数。在访问参数之前添加 argc 检查。

关于c - 下面的代码出现段错误。我不知道我哪里出了问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40428554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com