每输入一个字符串存在结构体数组中,空格后再一个名字,存入结构体数组,知道回车键结束输入
运行结果:
代码:
#include <stdio.h>
typedef struct _stnode
{
char id[20]; //学号 字符串
char name[20];//名字 字符串
}MyData;
int main()
{
MyData data[20]; //结构体数组
int n =0,i;
char ch=0;
while(1)
{
if( scanf("%s %s",data[n].id,data[n].name))
n++;
ch = getchar();
if(ch == '\n')
break; //输入回车结束
}
//输出
printf("输出:\n");
for(i=0;i<n;i++)
{
printf("%s %s\n",data[i].id,data[i].name);
}
return 0;
}
空格后再一个名字??啥意思?每个字符串都是名字吗?名字中有没有空格呢?
直接用scanf("%s"就可以了
char s[100][100];
int n=0;
while(scanf("%s",s[n]) != EOF)
{
n++;
}
#include <stdio.h>
struct S
{
char str[100];
};
int main()
{
S s;
gets_s(s.str, 100);
printf("%s\n", s.str);
return 0;
}
ctrl z结束输入
#include <stdio.h>
struct
{
char str[255];
}
name[255];
int main()
{
int n=0;
while(scanf("%s",name[n].str)==1) n++;
for(int i=0;i<n;i++)
{
printf("%s\n",name[i].str);
}
return 0;
}