大佬教程收集整理的这篇文章主要介绍了C 中的命令行输入会出错并且仅适用于特定情况,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <stdio.h>
#include <stdlib.h>
// this code take input in cmd line,finds any integer input
// and stores in an array
int main (int argc,char *argv[]){
int intput[argc];
char * frstr = argv[0];
frstr=frstr+2; //removes ./ from filename while printing
printf("%s ",frstr);
int j=0;
for(int i = 1;i<argc;i++) //loop to find integers and store in array intput
{
if( atoi(argv[i])>0)
{ j++;
intput[i] = atoi(argv[i]);
}
printf(" %s ",argv[i]);
}
printf("\n ");
for (int i= 1; i<=j;++i ) // loop to print integers stored in intput
{
printf(" %d ",intput[i]);
}
printf("\n");
return 0;
}
我编写这段代码是为了从 cmd 行获取输入并将任何整数输入存储在数组中。如果 cmd 行输入都是数字,但只要有任何字符串输入,就可以正常工作。请帮忙
问题来了:
intput[i] = atoi(argv[i]);
您使用 j
来跟踪 intput
中的元素数量,但您使用的是 i
(即当前元素编号 argv
)。你想要:
intput[j] = atoi(argv[i]);
以上是大佬教程为你收集整理的C 中的命令行输入会出错并且仅适用于特定情况全部内容,希望文章能够帮你解决C 中的命令行输入会出错并且仅适用于特定情况所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。