scanf从一个输入读取多种数据类型

所以我试着以mx+b=y的forms读出一个等式。 如何使用scanf读取多种数据类型? 我尝试过使用类似的东西:

 scanf(" %d %c %c %d %c %d", &num1, &variable, &sign, &num2, &equal_sign, &num3); 

在这种格式中,它正确读取num1但不知何故跳过将第一个字符分配给变量,而是将其放入符号中。 任何帮助将不胜感激。 谢谢