sscanf出人意料的结果
发布时间:2020-12-16 10:32:32 所属栏目:百科 来源:网络整理
导读:#includestdio.h#includestring.hint main(){ char buffer[32]; char c; int i; printf("input: "); fgets(buffer,32,stdin); printf("items filled: %dn",sscanf("%c%dn",c,i)); printf("%c%dn",c,i); return 0;} 当键入一个字符后跟一个数字“f7”时,我
#include<stdio.h> #include<string.h> int main() { char buffer[32]; char c; int i; printf("input: "); fgets(buffer,32,stdin); printf("items filled: %dn",sscanf("%c%dn",&c,&i)); printf("%c%dn",c,i); return 0; } 当键入一个字符后跟一个数字“f7”时,我希望“f”进入变量c,“7”进入变量i.由于某种原因,sscanf()无法填充这两个,我得到了他们的初始垃圾值.我究竟做错了什么? 解决方法
实际的sscanf()签名是这样的:
int sscanf(const char *str,const char *format,...); 检查你的签名sscanf()你使用了错误的签名 它应该是 sscanf(buffer,"%c%dn",&i); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |