linux下我在程序里定义了一个100大小数组,但没赋值,想在程序运行时命令行中,动态地输入一些值给数组

linux下我在程序里定义了一个100大小数组,但没赋值,想在程序运行时命令行中,动态地输入一些值给数组,第1张

用main()函数的参数把数据输入到程序中,如下:

//---------------------------------------------------------------------------

#include <stdio.h>

int main(int argc, char* argv[])

{

int ar[100]

int i

for (i=1i<argci++) { //把命令行中的数字作为整数读取到ar数组

sscanf(argv[i],"%d",ar+i-1)

}

for (i=0i<argc-1i++) { //输出ar数组中的整数

printf("%d ",ar[i])

}

return 0

}

//---------------------------------------------------------------------------

之后可以像这样调用 :

a.out 1 2 3 4 5

文件中保存的数据有实型有整型,则在读取数据时,均按浮点数据读取就好了。

参考代码:

#include <stdio.h>

int main()

{

    FILE *fp 

    int i,n

    double a[100]

    fp=fopen("data.txt", "r") 

    if ( !fp )

    {

        printf("open file error")

        return -1

    }

    i=0

    while( i<100 ) //控制不能超过数组的大小

    {

        if ( fscanf(fp, "%lf",&a[i] )!= 1 ) //按浮点数读取数据

            break

        i++

    }

    n=i

    for( i=0i<ni++ ) //输出读到的结果

        printf("%g\n", a[i] )

    fclose(fp)

    return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8623771.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存