Простая программа не может заставить работать таппер

Я тренируюсь с функцией 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 ответ

Я не уверен, почему ты звонишь только 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
Другие вопросы по тегам