#include<stdlib.h>
#include<stdio.h>
int heads(){
return rand()<RAND_MAX/2;
}
main(int argc,char argv[]){
int i,j,cnt;
int N=atoi(argv[1]),M=atoi(argv[2]);
int f=(int*)malloc((N+1)sizeof(int));
for(j=0;j<=N;j++) f[j]=0;
for(i=0;i<M;i++,f[cnt]++){
for(cnt=0,j=0;j<=N;j++){
if(heads()) cnt++;
}
}
for(j=0;j<=N;j++){
printf("%2d",j);
for(i=0;i<f[j];i+=10) printf("");
printf("\n");
}
}
遇到的问题:在devC++中运行后,无法显示抛硬币后产生的正态分布曲线,但将N和M的值固定为某一数字后就可以
在这个程序中应该如何修改argc和argv的值,以及命令行参数的意义

C语言中命令行参数如何使用
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- a5156520 2022-04-21 10:38关注
我的理解是这样,仅供参考:
main函数里面的argc就是参数有几个的意思,argv就是几个参数的内容,如下面的图片里面的 "5"就是argv[1] ,"6”就是argv[2] ,argv[0]是程序名本身。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录