我做节目的学校(我的班级简介C),我们必须创建一个字母猜谜游戏。在这个阶段,我只是试图打开文件input.txt
并在屏幕上打印4 letters
,因此我知道它正在连接到该文件。当我建立它没有printf
打印4个字母在屏幕上,它工作正常,但是当我加入printf
,它给了我这样的错误:错误C2106:“=”左操作数必须是左值
error C2106: '=' left operand must be l-value
IntelliSense: expression must be a modifiable lvalue
warning C4047: '=' : 'int(_cdecl*)(constant char*,...)' differs
in levels of indirection from 'int'
谁能帮助?
int main()
{
//declare additional variables
int gamesToPlay = 4, i = 0;
FILE *inptr;
int letter, win = 0, lose = 0;
//display instructions
//open file
//get number of games to play
scanf("%d", &gamesToPlay);
inptr = fopen ("input.txt", "r");
for (i = 0; i < gamesToPlay; i++)
{
//get a letter from file
//Play one game (Call PlayOneRound function)
//tell the player if they won or lost
fscanf(inptr, " %c", &letter);
printf = letter;
//win = PLayOneRound(letter);
}
//close file
return 0;
}
是的,这个'printf = letter;'看起来不太好。 – juanchopanza 2014-09-23 22:12:30
现在''scanf''%c'变成'int'现在看起来也不是那么热。 [这应该是'char'](http://en.cppreference.com/w/c/io/fscanf) – WhozCraig 2014-09-23 22:19:41
现在开始缩进代码。它将在整个课堂期间为您节省头痛。 – 2014-09-23 22:20:14