我正在尝试将字符串解码为其内容,但程序输出不是预期的。
输出为:
-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/

10-12 07:36