【发布时间】:2014-01-11 19:19:04
【问题描述】:
这是代码:
#include<iostream>
#include<fstream>
#include<cstdlib>
#include<string>
using namespace std;
int grade; //declared globally because visual 2013 gives error if locally
int main() {
ofstream outFile("C:\\Users\\Affan_000\\Desktop\\FileWrite.txt",ios::out);
while (grade != -1){
outFile << grade<<endl;
cin >> grade;
}
outFile.close();
return 0;
}
输入成绩后
80 50 60 40 90
当我打开文本文件时,零在顶部:
0 80 50 60 40 90
我也在 Dev-C++ 中尝试过。
【问题讨论】:
-
您在执行提取之前打印
grade。 -
另外,当你在本地声明
grade时,编译器给你的错误是什么? -
@0x499602D2 我猜至少会警告从未初始化的变量中读取。显而易见的解决方案是对其进行初始化,而不是使其成为全局对象。
-
错误 1 错误 C4700:使用了未初始化的局部变量“等级”
-
@user3150227 好吧...因为您没有初始化局部变量。这很糟糕——你怎么期望它在没有初始化的情况下包含任何有意义的东西?