我在用printf和scanf做错了什么?

时间:2018-09-17 22:33:34

标签: c printf scanf function-call

我想知道我的代码正在发生什么。我必须读取目录(字符串,我正在使用scanf)并使用调用系统函数才能创建。一切正常,直到这里。

然后我问是否也要使用呼叫系统功能来删除该指令(这在这里并不重要)。问题是,在问到“您要删除bla bla ...程序完成之后,就这样了。它不会执行下一条指令scanf,以及我删除目录的那一部分

这是我的代码:

#include <windows.h>
#include <stdio.h>

int main(void)
{
    printf("Inserta el Directorio: ");
    char directorio[MAX_PATH];
    char respuesta;
    scanf("%s",directorio);
    BOOL bDir;
    bDir = CreateDirectory(directorio,NULL);
    if (bDir) {
        printf("Directorio creado con exito\n");
    }
    else {

        printf("Directorio no creado\n");
        exit (1);
    }
    printf(" Deseas remover el directorio? (y/n) : ");
    --------- from here it doesn't execute any instruction, maybe the return line.
    scanf("%c",&respuesta);
    printf("%c",respuesta); // this was created in order to know what happen with my char.
    if(respuesta=='y'||respuesta=='Y'){
        bDir= RemoveDirectory(directorio);
        if(bDir) {
            printf("Directorio eliminado\n");
        }
        else {
            printf("No se pudo remover el directorio");
        }
    }
}
    return 0;
}

我想知道什么是错的,在这种情况下(在每种情况下都是如此),printf和scanf是如何工作的。

0 个答案:

没有答案