2014-08-31 4 views
-1

Im практикующий с функцией toupper, но я могу сделать эту работу, всегда сбой в точке printf, поэтому я считаю, что аргументы плохи или так.Простая программа не может получить работу в рабочем состоянии

#include <stdlib.h> 
#include <stdio.h> 
#include <string.h> 
#include <ctype.h> 

int main (void){ 

char pepito[10]; 

puts("\nTell me something: \n"); 
scanf("%9s", pepito); 
puts("\a"); 
printf("Could be this?: %s", toupper(pepito[2])); 

system("pause");  





} 
+1

'% s' для строк, вы хотите'% c' для отдельных символов. –

+0

Вы ищете 'strupr'? – BLUEPIXY

+1

Я просто хочу конвертировать случайное> rAndom –

ответ

1

Я не знаю, почему вы только позвоните toupper() на третьем полукокса (а затем пытается напечатать третий char как строка - %s не %c), я подозреваю, что на самом деле ваш вопрос - так что ваши программа должна быть фактически использованием индекса 1 (индексы начинаются с 0),

int main (int argc, char *argv[]) { 
    int i = 0; 
    char pepito[10]; 

    puts ("\nTell me something: \n"); 
    scanf ("%9s", pepito); 
    /* Capitalize the third letter. */ 
    pepito[1] = toupper (pepito[1]); 
    /* print the capitalized pepito */ 
    printf ("Could be this?: %s\n", pepito); 
} 

Забегая производит

$ ./a.out 

Tell me something: 

random 
Could be this?: rAndom