c语言 输入与输出错误

  scanf("%c %c %d",&v1,&v2,&info);             //调试报错 
  scanf("%c ", &v1);
  scanf("%c ", &v2);
  scanf("%d", &info);                             //输入正确
  printf("%c%c %d   ", g.adjlist[i].vertex, g.adjlist[j->adjvex],j->info);             //j->info输出错误
  printf("%c%c ", g.adjlist[i].vertex, g.adjlist[j->adjvex]);
  printf("%d  ", j->info);                        //输出正确

输入错误是调试的时候显示写入错误
输出错误的地方我直接把j->info改成一个数字,它的输出还是和错误输出一样
求解

%c前加空格,屏蔽空白符