#include"stdio.h"
#include<string.h>
struct days{
int year;
int month;
int day;
};
struct Student{
char name[20];
char no[20];
char sex[10];
struct days birthday;
};
main()
{
int i;
struct Student s[2];
for(i=0;i<2;i++)
{
printf("请输入姓名\n");
gets(s[i].name);
printf("请输入学号\n");
gets(s[i].no);
printf("请输入性别\n");
gets(s[i].sex);
printf("请输入生日,并以逗号分开\n");
scanf("%d,%d,%d",&s[i].birthday.year,&s[i].birthday.month,&s[i].birthday.day);
}
for(i=0;i<2;i++)
{
printf("第%d个学生的信息是:\n",i+1);
puts(s[i].name);
puts(s[i].no);
puts(s[i].sex);
printf("%d年%d月%d日\n",s[i].birthday.year,s[i].birthday.month,s[i].birthday.day);
}
}
需不需要清缓存?
C语言结构体为什么用gets和puts输入和输出 经常出现错误?
gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。本函数可以无限读取,不会判断上限,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。如果溢出,多出来的字符将被写入到堆栈中,这...
C语言puts函数好gets函数的调用问题:为什么通过Menu()函数调用的puts...
fflush(stdin);其次是,函数 Prove_copy() 未定义,我定义了一个空的。修改后如下:void Prove_string(){ char str[20];printf("请输入长度少于20的字符串:\\n");\/\/ 清空输入缓冲区 fflush(stdin);gets(str);printf("你输入的子符为:\\n");puts(str);}\/\/\/问题:为什么Menu菜单函数调用时会...
C语言为什么gets函数输出乱码
puts的参数是字符串,不是int型数组
c语言新手上路,求教一下为什么我这个输入字符串的时候用scanf运行出来...
第一,你说的正确情况应该是gets,而不是get 第二,scanf和gets区别在于,gets输入整行,而scanf遇到空白字符就会停止 所以应该你的输入中有空格一类的需要存入数组的空白字符,导致scanf读取非预期 so,确认一下输入是不是有我说的这种情况,如果有,那就用gets吧,挺好用的。没必要一定用scanf(scanf...
...前两个用%S输入,后两个用gets()输入,用puts()输出……
函数输入字符串时存在一个问题, 就是如果输入了空格会认为输入字符串结束,空格后的字符将作为下一个输入项处理, 但gets() 函数将接收输入的整个字符 串直到回车为止。gets(s)函数中的变量s为一字符串。如果为单个字符, 编译连接不会 有错误, 但运行后会出现"Null pointer asignmemt"的错误。include...
c语言scanf gets问题
scanf的%s格式接收字符串时,以空格或回车作为终止符。而gets只以回车作为终止符。你这里s1==aaa s2==bbb s3=ccc ddd所以输出会这样 puts输完最后输出'\\n',就是换行
一个关于puts();和gets()的函数的问题
你的C只有3个字节,你使用了abcdefghi10个字节,不出错真是奇迹。函数原型:char*gets(char*buffer);使用的buffer是个内存地址,二维数组也是内存地址,所以他们也可用在二维中。但是这样用很容易计算错误,如果数学非常好,可以使用。书上的意思是输入2个是安全的,2个以上是不安全的。
c语言if里用gets,求帮忙,简单的题瞅了一个上午没看出来……
读入z的时候没有把回车符读掉,造成a会读到空串。下面这样就行了。include "stdio.h"include "string.h"include "math.h"int main(){int z;char a[10],b[10];scanf("%d\\n",&z);if(z%2==0){gets(a);gets(b);puts(strcat(a,b));} else printf("sad");} ...
c语言中gets()和puts()的问题
但是你使用的时候最好还是不要超出你自己申请的空间,不然很可能会破坏它的数据结构!!所以能输进去很正常!!字符串输出的话要是不遇到'\\0'是不会停止的,你试试给abc[0]赋一个值,用puts(abc)应该照样会输出好多东西!!所以要把char数组当字符串输出的话,最好要在数组的结尾处加个'\\0'...
c语言的gets函数编译不成功阿,很短的程序
编译问题。这个是一个警告。我记得以前有看过,是说,gets没有限制输入字符的长度,你的数组a是100字节,如果输入101字节会溢出。只是建议你少用,用别的替代。