fgets 输出奇怪的垃圾字符

fgets outputting weird garbage characters

我正在尝试打印 fgets 从键盘输入中获取的字符串。但是当我 运行 程序时,我得到了一个无限循环的奇怪字符。为什么?

这是我的代码:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define SIZE 6

void stringF();
void revString();
void stringLength();
void verticalString();
void triString();

int main() {
  char string[SIZE];
  stringF(&string[0]);
  system("pause");
  return 0;
}

void stringF(char* str) {
  fgets(str, SIZE, stdin);
  while (str != '[=10=]') {
    putchar(str);
    str++;
  }
}

像这样重写循环

if ( fgets(str, SIZE, stdin) != NULL )
{

   while ( *str != '[=10=]'){
        putchar(*str);
        str++;
    }
}