Вы можете проверить, чтобы увидеть возвращаемое значение scanf, он возвращает количество успешных входов, вы можете проверить, все ли 5 успешно завершены, например,
#include <stdio.h>
int main ()
{
int,a,b,c;
char str1[200];
char str2[200];
char str[] ="1;2;oeb;;7;ed";
if (scanf("%d;%d;%[^;];%d;%[^\n]",&a,&b,str1,&c,str2) != 5) {
// Error handling code here
}
else {
// If everything is ok, continues here,
}
return 0;
}