我今天注意到有时当我使用gets函数时,我的编译器只是忽略它.好.这是获取有效的示例:
#include <stdio.h>
void main()
{
char s[50];
gets(s);
puts(s);
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我对程序进行这个简单的更改,则会忽略函数gets:
#include <stdio.h>
void main()
{
int n;
printf("dati n:\n");
scanf("%d",&n);
char s[50];
gets(s);
puts(s);
}
Run Code Online (Sandbox Code Playgroud)
"忽略"意味着当我运行程序时,编译器会读取变量,然后退出而不读取我的字符串.为什么会这样?谢谢.
在"file1.dat"我写的文件中"anahasapples".
然后我写了这个程序:
#include <stdio.h>
#include <conio.h>
int main()
{
FILE *ptr_file;
ptr_file=fopen("file1.dat","r+");
printf("%c",fgetc(ptr_file));
printf("%c",fgetc(ptr_file));
printf("%c\n",fgetc(ptr_file));
char c;
printf("char:\n");
c=getch();
fputc(c,ptr_file);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我从文件打印前3个字符的部分工作.之后,我想在文件中加入一个字符.
当我编译它时,我没有得到任何错误,但包含文本不会改变.