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++;
}
}
我正在尝试打印 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++;
}
}