C++代码跳过 if 语句。不允许用户提供输入
C++ code skips over if statement. Doesn't allow user to give input
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
。==
运算符将比较这两个值。
相关文章:
- 为什么 Clang 不允许"and"作为函数名称?
- 不允许在向量中添加更多元素
- std::带有自定义缓冲区的 iostream 不允许我写入
- Visual Studio 2017 不允许我创建 C++ 专用模板
- 返回时不允许隐式转换
- 为什么 c++(g++) 不允许模板返回类型和函数名称之间有空格?
- 为什么 c++ 不允许(自动)强制转换?
- 为什么 c++11 不允许使用自动
- 为什么不允许成员函数和非成员函数之间的函数重载?
- 为什么不允许使用可变长度数组作为向量元素?
- 余数除法和不允许除以零 (c++) 时遇到问题
- C++从外部类继承的嵌套类;不允许使用不完整的类型
- 在 c++ 中三元运算符中不允许继续(关键字)吗?
- 为什么在指向对象的迭代器上调用函数不允许我更改对象本身?
- cin 的 Xcode 问题(在 Xcode7.3 中会自动给出零且不允许用户输入)
- C++编译器不允许我使用数组作为参数来调用用户定义的函数
- C++ 用户定义的字符串需要包含空格(但程序不允许)
- 为什么gcc允许一个没有用户声明的默认构造函数的const对象,而不允许clang
- C++代码跳过 if 语句。不允许用户提供输入
- cin.getline 不允许用户输入值