我正在尝试将字符串解码为其内容,但程序输出不是预期的。
输出为:
-858993623 444 333号
什么是-858993623?
#include <stdio.h>
int main(void){
int areaCode;
long phoneNumber1;
long phoneNumber2;
char bracket1, bracket2, chard;
char tel[]="(555) 444-333";
sscanf(tel, "%c%d%c %ld%c%ld", &bracket1, &bracket2, &areaCode, &phoneNumber1, &chard, &phoneNumber2 );
printf("%d %ld %ld", areaCode, phoneNumber1, phoneNumber2);
getch();
}
最佳答案
你现在在UB-land:试试&bracket1, &areaCode, &bracket2
而不是&bracket1, &bracket2, &areaCode
。其他一切看起来都很好。
关于c - 如何分别存储方括号和数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18698137/