Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;代码跳过if语句。不';不允许用户提供输入 新的C++程序设计。谁能告诉我下面的代码有什么问题吗?现在的问题是if语句忽略了您给它的任何值,而只是转到if语句中的代码部分_C++ - Fatal编程技术网

C++;代码跳过if语句。不';不允许用户提供输入 新的C++程序设计。谁能告诉我下面的代码有什么问题吗?现在的问题是if语句忽略了您给它的任何值,而只是转到if语句中的代码部分

C++;代码跳过if语句。不';不允许用户提供输入 新的C++程序设计。谁能告诉我下面的代码有什么问题吗?现在的问题是if语句忽略了您给它的任何值,而只是转到if语句中的代码部分,c++,C++,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;

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);
 }


 }
#包括
#定义大小80
#包括
内部主(空)
{
文件*pFile;
int c;//用于保存用户输入的字符的变量
字符句子[SIZE];//创建字符数组
int i=0;//初始化计数器i
整数;
std::cout>number;
std::cin.clear();
如果(数字=1)
{
printf(“输入要追加的句子:”);
fgets(第256句,标准文本);
pFile=fopen(“mylog.txt”,“a”);
FPUT(句子,pFile);
fclose(pFile);
}
其他的
{
//提示用户输入文本行
puts(“输入一行文本:”);
//使用getchar读取每个字符
而((i
=
是赋值运算符。您只是将
number
的值设置为
1
=
运算符将比较这两个值。

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

if(number=1)
=>
if(number==1)
。如果用户键入的字符超过80个,则
while
循环后面的行将写越界,并且
fgets()
也可以在同一个80个字符的数组中读取多达256个字符。好的,修复了这些问题,但它仍然不会接受用户的输入。它显示“输入要追加的句子”,但随后直接跳到末尾。
if(number=1)
=>
if(number==1)
。如果用户键入的字符超过80个,则
while
循环后面的行将写越界,而
fgets()
在同一个80个字符的数组中最多可以读取256个字符。好的,修复了这些问题,但它仍然不会接受用户的输入。它会显示“输入要追加的句子”,但会直接跳到结尾。已经修复了这个问题。你知道为什么它的其余部分不起作用了吗?你可能想看看这篇关于FGET的参考资料,已经修复了。你知道为什么它的其余部分不起作用吗?你可能想看看这篇FGET的参考资料