0

文字列をその内容にデコードしようとしていますが、プログラムの出力は意図したものではありません。出力は次のとおりです。

-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();

}

4

1 に答える 1

2

あなたは現在 UB ランドにいます:&bracket1, &areaCode, &bracket2 ではなく試してみてください&bracket1, &bracket2, &areaCode。他のすべては問題ないように見えます。

于 2013-09-09T12:29:17.317 に答える