C++代码跳过 if 语句。不允许用户提供输入

C++ code skips over if statement. Doesn't allow user to give input

本文关键字:用户 不允许 输入 语句 代码 if C++      更新时间:2023-10-16

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]= '';
   // terminate string
   // use puts to display sentence
   puts("nThe line entered was:");
   puts(sentence);
 }

 }

=是一个赋值运算符。您只是将number的值设置为1==运算符将比较这两个值。