赞
踩
scanf默认是空格以及逗号作为分隔符号,如果我想用分号作为分隔符,对于字符串"plane;fly;30;55",使用
scanf("%s;%s;%d;%d",pa,pb,pc,pd);
会得到错误的结果。pa包含了所有的字符串,而剩下的变量值为空。因为第一个%s匹配了所有字符串
而使用下面的方法可以得到正确的结果
scanf("%[^;];%[^;];%d;%d",pa,pb,pc,pd);
%[^;]
是匹配到所有非;
符号的字符串
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。