对sscanf的一些用法有点不清楚

char ch[] = "1+2=3";

int a, b,c;

sscanf (ch, "%d+%d=%d", &a, &b, &c) ;

就是对上面这个,为什么输出a=1 b=2 c=3?
然后这个加号和等于号有什么作用?
这个应该怎么理解比较简单

其实这和scanf的用法是一样的,只不过scanf是从输入中读取,而sscanf是从字符串中读取。
scanf允许在输入中填写非规格化字符串,也就是例如scanf("%d times %d equals %d,&a,&b,&c);这样的形式,但你写了什么非规格化字符串,就必须原样输入进来,也就是说你必须输入5 times 3 equals 15,这个scanf才会把abc赋值为5 3 15