scanf("%s%d",char,&int)如何正确赋值?
我最近在做课程设计,关于信息管理的。我定义了一个结构体,里面包含char[]和int、long等类型。输入函数里我不想用scanf每一行只输入一个数据,那样即麻烦又不美观...
我最近在做课程设计,关于信息管理的。我定义了一个结构体,里面包含char[]和int、long等类型。
输入函数里我不想用scanf每一行只输入一个数据,那样即麻烦又不美观。
我想问问有没有什么好的办法能在scanf("%s %d",char,int)时使输入时能用空格将两个数据分别赋给char和int,而不是全部给char了。 展开
输入函数里我不想用scanf每一行只输入一个数据,那样即麻烦又不美观。
我想问问有没有什么好的办法能在scanf("%s %d",char,int)时使输入时能用空格将两个数据分别赋给char和int,而不是全部给char了。 展开
5个回答
展开全部
char s[20];
int num;
scanf("%s%d",s,&num); // 输入时,两个数据之间加一个(或多个)空格,如:abc 124
追问
我刚试过不行
追答
对于scanf()函数来说,空格是常用的数据分隔符,scanf()函数之所以不能读入一行文本的原因也在与此,要想读入一行文本串,通常都用gets()函数。在多个平台上测试都是这样,我不知道你说的不行是指哪儿不行,对于scanf("%s%d",s,&num);,是s没有得到需要的串,还是num没有得到需要的值,还是都没有得到呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
格式里加上空格。读数时保证跳过空白。
#include <stdio.h>
int main(){
int a,b,c;
char s[60];
scanf(" %s %d",s, &a);
printf("s=%s a=%d\n",s,a);
scanf(" %s %d",s, &a);
printf("s=%s a=%d\n",s,a);
return 0;
}
#include <stdio.h>
int main(){
int a,b,c;
char s[60];
scanf(" %s %d",s, &a);
printf("s=%s a=%d\n",s,a);
scanf(" %s %d",s, &a);
printf("s=%s a=%d\n",s,a);
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char msg[32];
int d;
scanf("%s%d", msg, &d);
正是你想要的,输入hello 50,msg中是hello, d是50.
int d;
scanf("%s%d", msg, &d);
正是你想要的,输入hello 50,msg中是hello, d是50.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该可以把你想要的功能包装成一个函数来实现吧、、、
追问
我知道,现在就在写这个输入函数,卡在scanf这里了
追答
不知道是不是我理解错了,直接用if语句判断输入字符的ASSIC码不就行了吗?判断是否属于0~9之间的assic码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询