简单的程序无法让toupper工作

时间:2014-08-31 23:46:37

标签: c toupper

我正在练习使用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 个答案:

答案 0 :(得分:1)

我不确定为什么你只在第三个字符上调用toupper()(然后尝试将第三个char打印为字符串 - %s不是{{1 }}),我怀疑这实际上是你的问题 - 所以你的程序实际上应该使用索引%c(索引从0开始),

1

运行它会产生

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);
}