吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1055|回复: 5
收起左侧

[求助] 各位老师,c语言中如何将变量double a2写入数组不再变,再后面的循环中能提取呢?

[复制链接]
jtwc 发表于 2022-2-12 15:50
各位老师,c语言中如何将变量double a22写入数组不再变,能在后面的循环中能提取呢?谢谢了,案例如下:
#include <stdio.h>
#include <string.h>
int main()
{
    char Result[1024] = {0};
    char *t;
    int j = 1;

    //读取文件
    FILE *fp = fopen("y:\\1.txt", "rb");
    fread(Result, 1024, 1, fp);
    fclose(fp);
     
    //将换行符替换为分割文本的制表符
    for (int i = 0; i < 1024; i++)
    {
        if (Result[i]=='\r' && Result[i+1] == '\n')
        {
            Result[i] = '\t';
            Result[i+1] = '\t';
        }
    }

    t = strtok(Result, "\t");
    while (t)
    {
        t = strtok(NULL, "\t");
        j++;
        if (j==95 && t!=NULL)
        {
            printf("第%d组:%s", j, t);
            char a[] = { 0 };
            sprintf(a, "%s\n", t);
           std::string a1= a;
           double a2 = std::stod(a1);
        }
    }
while (1)
{
//读取文件
    FILE *fp = fopen("y:\\2.txt", "rb");
    fread(Result, 1024, 1, fp);
    fclose(fp);
     
    //将换行符替换为分割文本的制表符
    for (int i = 0; i < 1024; i++)
    {
        if (Result[i]=='\r' && Result[i+1] == '\n')
        {
            Result[i] = '\t';
            Result[i+1] = '\t';
        }
    }

    t = strtok(Result, "\t");
    while (t)
    {
        t = strtok(NULL, "\t");
        j++;
        if (j==5 && t!=NULL)
        {
            printf("第%d组:%s", j, t);
            char b[] = { 0 };
            sprintf(b1, "%s\n", t);
            double b2 = std::stod(b1);
        }
    i f (a2>b2)
{
    printf("%f\n", a2-b2);
                                                
}
    }
    getchar();
    return 0;
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

深夜雪 发表于 2022-2-12 16:18
将数组定义在当前while循环之前不就行了,如果数组大小不确定的话就malloc做个单链表
Meiosis 发表于 2022-2-12 17:14
可以定义为static,内存里面开个数组存里面就不会变了
 楼主| jtwc 发表于 2022-2-12 17:16
深夜雪 发表于 2022-2-12 16:18
将数组定义在当前while循环之前不就行了,如果数组大小不确定的话就malloc做个单链表

老师,不能将数组定义在当前while循环之前,谢谢了
 楼主| jtwc 发表于 2022-2-12 17:17
Meiosis 发表于 2022-2-12 17:14
可以定义为static,内存里面开个数组存里面就不会变了

老师,该如何写呢?谢谢了
unmask 发表于 2022-2-13 08:21
jtwc 发表于 2022-2-12 17:16
老师,不能将数组定义在当前while循环之前,谢谢了

你需要在while后面用到这个数组,你就不能定义在while循环体内,变量都有自己的生命周期的。
稍微学习一下c语言的基础吧。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表