C语言用什么贮存字符串数据?

比如我想做一个,输入姓名就显示相关信息的程序就是从键盘输入一个姓名,比如Maiiho这个名字,就显示他的相关数据这是我写到,不能运行#include<stdio.h>st... 比如
我想做一个,输入姓名就显示相关信息的程序
就是从键盘输入一个姓名,比如Maiiho这个名字,就显示他的相关数据
这是我写到,不能运行
#include <stdio.h>
struct stu
{
int num;
char name[50];
int age;
char sex;
float scr;
char addr[50];
};
struct stu stu1 ={1,"Maiiho",18,'B',85.0,"oosaka"};
main()
{
char n[50];
printf("Please input your name!");
scanf("%c",n);
if(n="Maiiho")
printf("ID:%d\nname:%s\nage:%d\nsex:%c\nscr:%f\naddress:%s",stu1.num,stu1.name,stu1.sex,stu1.scr,stu1.addr");
else
printf("X");
getch();
}
展开
 我来答
匿名用户
2008-05-20
展开全部
1.字符串用字符数组保存。
2.在读取字符串时,要用 %s 格式控制符,而不是 %c
3.字符串的比较不能用相等操作符(==),而要用strcmp()函数(需要包含string.h头文件)。

例如你的程序中要比较n和"Maiiho"是否相等,应该用以下表达式:
if (!strcmp(n,"Maiiho")) /*如果要比较的两个字符串相等,strcmp()函数返回0,否则返回非0值*/

参考资料: 刚才不是已经提问过了吗?重复提问是会被删除的。

高金山
2008-05-20 · TA获得超过1万个赞
知道大有可为答主
回答量:4101
采纳率:0%
帮助的人:1722万
展开全部
1.字符串用字符数组保存。
2.在读取字符串时,要用 %s 格式控制符,而不是 %c
3.字符串的比较不能用相等操作符(==),而要用strcmp()函数。

你的程序修改如下:

#include <stdio.h>
#include <string.h>

struct stu
{
int num;
char name[50];
int age;
char sex;
float scr;
char addr[50];
};
struct stu stu1 ={1,"Maiiho",18,'B',85.0,"oosaka"};
main()
{
char n[50];
printf("Please input your name!");
scanf("%s",n);
if(strcmp(n,stu1.name)==0)
printf("ID:%d\nname:%s\nage:%d\nsex:%c\nscr:%f\naddress:%s",stu1.num,stu1.name,stu1.sex,stu1.scr,stu1.addr);
else
printf("X");
getchar();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式