发布网友 发布时间:2022-05-17 07:37
共2个回答
热心网友 时间:2023-10-13 06:51
对于scanf()函数,如果格式控制串里有逗号(或其他非格式符号),键盘输入时,必须严格按照控制串的内容键入,不能随意输入。如scanf("a=%d,b=%d",&a,&b);响应输入是a=xx,b=xx(xx是整形数)。scanf()函数还有一个特点较为常用,该函数会将白字符(空格、<Tab>、<Enter>)作为数据间的分隔符,比如scanf("%d%s%d",&a,str,&b);,响应输入是:12 asder334 35,此后,12赋给a,"asder334 "拷贝到str数组,35赋给b,且各个数据之间的空白符可以是一个,也可以是多个。
#include <stdio.h>
热心网友 时间:2023-10-13 06:51
输入字符wang,89时候这整个应该被默认为字符串存入了student1.name追问什么意思,能详细点不?谢谢!追答scanf("%d,%s,%f",&student1.num,student1.name,&student1.score);
你的这条语句输入时,你输入的10101,wang,89+回车;所以student1.num里面是10101,而student1.name是wang,89+回车,这个全部存在字符串里面,然此时你的控制字符串要求输入一个逗号,你输入的是数字,所以student1.score没有存放内容,应该为0。