Код консольного приложения, который я написал в Dev- C ++, плавно работает в компиляторе, но, кажется, отсутствует при запуске приложения .exe? - PullRequest
0 голосов
/ 20 февраля 2020

Я только начал изучать C ++. Я сделал небольшое консольное приложение, используя функцию scanf, когда я говорю «скомпилировать и запустить в среде DevC ++», оно открывается плавно (даже когда я пробовал его в онлайн-компиляторе C ++, проблем в консоли нет), но когда я закрываю и запускаю Программа с расширением .exe, которую я скомпилировал, последняя часть отсутствует. Он не появляется на консоли после определенного местоположения, и консоль отключается напрямую. Какая ошибка, какое предупреждение, почему это может быть и как я могу это исправить?

#include <iostream>
#include <stdio.h>

int main() {

    char isminiz[15];
    char soyisminiz[15];
    char yasiniz[3];

    printf ("Isminizi yaziniz: ");
    scanf("%s",isminiz);
    printf ("Soyisminizi yaziniz: ");
    scanf ("%s",soyisminiz);
    printf ("Yasiniz: ");
    scanf("%s",yasiniz);

    return 0;
}

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

Так как вы пытаетесь сделать это на C. Используйте getchar () перед функцией возврата.

#include <stdio.h>

int main() {

    printf ("Uyari: Turkce karakter kullanmayiniz ve sorulari tek kelime ile cevaplandiriniz.\n\n");

    char isminiz[15];
    char soyisminiz[15];
    char yasiniz[3];
    char mutlu[15];
    char sanat[30];
    char fb[20];
    char kim[20];

    printf ("Isminizi yaziniz: ");
    scanf("%s",isminiz);
    printf ("Soyisminizi yaziniz: ");
    scanf ("%s",soyisminiz);
    printf ("Yasiniz: ");
    scanf("%s",yasiniz);
    printf ("Mutluluk nedir: ");
    scanf("%s",mutlu);
    printf ("Peki sanat nedir desek: ");
    scanf("%s",sanat);
    printf ("Fb nin uykusu gelmis midir: ");
    scanf("%s",fb);
    printf ("Isim: %s - Soyisim: %s \n",isminiz,soyisminiz);
    printf ("Mutluluk: %s\n",mutlu);
    printf ("Sanat: %s\n",sanat);
    printf ("Gelmis mi: %s\n\n",fb);
    printf ("Fb seni cok seviyor dostum hayirli geceler :) \n");
    printf("Devam etmek için herhangi bir tuşa basın\n");

    getchar();

    return 0;
}

Я скомпилировал и выполнил ее на терминале Linux, и окно останется открытым. По сути, функция getchar () будет ждать, пока пользователь нажмет клавишу. Это работает как system.pause () за исключением того, что это для C, и оно закроется только тогда, когда пользователь нажмет кнопку. Я не знаю, о чем он просил во вводе, поэтому я ввел строки, так как% s был обязательным вводом в scanf.

0 голосов
/ 20 февраля 2020

Добавьте system("pause"); перед return 0;. Между последними функциями printf () и возвратом нет точки останова. Кроме того, удалите #include <iostream>, поскольку он предназначен для C ++, и вы его не используете (ваш код C).

...