C 为什么我不能从文件中生成一维矩阵?
我认为这个程序应该打印数字4,但它没有。我做错了什么?我实际上在尝试将类似的东西应用于字符矩阵。我想让我的程序从档案中读取字符,并将它们保存在一维矩阵中。有什么想法吗?(顺便说一下,我正在使用dev-c)。此外,归档文件非常大(150 mb)。。所以我需要一个非常大的矩阵C 为什么我不能从文件中生成一维矩阵?,c,C,我认为这个程序应该打印数字4,但它没有。我做错了什么?我实际上在尝试将类似的东西应用于字符矩阵。我想让我的程序从档案中读取字符,并将它们保存在一维矩阵中。有什么想法吗?(顺便说一下,我正在使用dev-c)。此外,归档文件非常大(150 mb)。。所以我需要一个非常大的矩阵 #include <stdio.h> #include <iostream> #include <string> #include <math.h> main() {
#include <stdio.h>
#include <iostream>
#include <string>
#include <math.h>
main()
{
char c;
int matrix[10000000];
long long int i; i=0;
int a;a=0;
FILE *fp;
fp=fopen("experiment.txt","r");
for(i=0;i<7;i++){
matrix[i]=a;
a=a++;
}
printf("%d",matrix[4]);
fclose(fp);
exit(0);
system("pause");
return 0;
}
#包括
#包括
#包括
#包括
main()
{
字符c;
整数矩阵[10000000];
长整型i;i=0;
int a;a=0;
文件*fp;
fp=fopen(“experiment.txt”,“r”);
对于(i=0;i改变线
a = a++;
到
请记住,表达式a++
是后增量运算符,它不等于a+1
,它将在表达式之后增加a
,但另一方面a
被分配给表达式的结果,即0
,因此它是一种未定义的行为
实际上,你不从这个代码中读取任何文件,但是问题是从文件中读取矩阵?< /p>什么?“但是它不”-它打印什么?为什么“A= A++”——你是不是在混淆?IoString和String是C++。<代码> A= A++<代码>是未定义的行为。你不使用你的代码> char C < /COD>nywhere.main()
应该是int main()
。程序中任何地方都不能读取字符
a++;