Q:

Ошибка вывода результата при вводе пароля

#include <stdio.h>

void main(void) {
char **input_pass;
scanf("%s", &input_pass);

if (input_pass == "123")
{
    return printf("Equals");
}
else
{
    return printf("You made mistake");
}

}

Никак не пойму почему выходит ошибка. Если ввожу 123 выводит "You made mistake". Если ввожу что-то другое выводит "You made mistake" и ошибку: 
Всем спасибо. Вот как решил проблему:
#include <stdio.h>
#include <string.h>

int main() {
char **input_pass; char main_pass[] = "123";
scanf("%s", &input_pass);

if (strcmp(&input_pass, &main_pass)==0)
{
return printf("Equals");
}
else
{
return printf("You made mistake");
}

return 0;
}

A:

В чем собственно дело?

Вот в этом:
if (input_pass == "123")

Вы сравниваете два адреса в памяти (указателя), которые заведомо не равны. Для сравнения строк в C используются функции семейства strcmp().
Ну и до кучи: у вас полный бардак с памятью и указателями. В функцию scanf вы передаёте непонятно что, ввод идёт в произвольное место памяти...

