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);
}
}
最佳答案
=
是赋值运算符。您只是将 number
的值设置为 1
。 ==
运算符将比较这两个值。
关于C++ 代码跳过 if 语句。不允许用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39842914/