C ++编程新手。谁能告诉我以下代码有什么问题?现在的问题是if语句忽略了你给它的任何值,只是转到if语句中的代码部分。
if语句本身的代码也存在问题。它不会从用户那里获取任何输入。任何帮助将非常感激!感谢。
#include <stdio.h>
#define SIZE 80
#include <iostream>
int main(void)
{
FILE * pFile;
int c; // variable to hold character input by user
char sentence[SIZE]; // create char array
int i = 0; // initialize counter i
int number;
std::cout << "Give a number. 1 for file. Anything else for standard.";
std::cin >> number;
std::cin.clear();
if(number=1)
{
printf("Enter sentence to append: ");
fgets(sentence,256,stdin);
pFile=fopen("mylog.txt","a");
fputs(sentence,pFile);
fclose(pFile);
}
else
{
// prompt user to enter line of text
puts("Enter a line of text:");
// use getchar to read each character
while ((i < SIZE-1) && (c = getchar()) != '\n') {
sentence[i++] = c;}
sentence[i]= '\0';
// terminate string
// use puts to display sentence
puts("\nThe line entered was:");
puts(sentence);
}
}
答案 0 :(得分:2)
=
是一个赋值运算符。您只需将number
的值设置为1
即可。 ==
运算符将比较这两个值。