2015-03-09 2 views
-3
#include <stdio.h> 
#include <stdlib.h> 
#include<string.h> 

int main() 
{ 
    char buffer[1024]; 
    printf("Hello\n"); 
    printf("What would you like to search\n"); 
    printf("Here are the options\n"); 
    printf("s : How are you\n"); 
    printf("c : What would you like to search\n"); 

    scanf("%s",&buffer); 

    if(buffer == 's') 
     printf("iam fine\n"); 
    else if (buffer == 'c') 
     printf("What would you like to search\n"); 

    fgets(buffer, sizeof buffer, stdin); 
    system(buffer); 
    return 0; 
} 

Ошибки консоли (программа не работает корректно)консоли предупреждения, если оператор не работает

C:\Users\sc\Documents\ForumCode\test\foo.c|12|warning: format '%s' expects type 'char *', but argument 2 has type 'char (*)[1024]'| 
C:\Users\sc\Documents\ForumCode\test\foo.c|13|warning: comparison between pointer and integer| 
C:\Users\sc\Documents\ForumCode\test\foo.c|15|warning: comparison between pointer and integer| 

||=== Build finished: 0 errors, 3 warnings ===| 
+3

Читать и понимать предупреждения. Это не компилятор, это неправильно. – Kevin

+0

Вы даже не задавали вопрос. – abelenky

ответ

1

Следует Scanf ("% S", буфер)

0

Ваш buffer переменная является массив символов, но в вашем операторе if вы пытаетесь сравнить этот массив с одним символом.

Может быть то, что вы ищете, if (buffer[0] == 's')

Смежные вопросы