-1

我正在练习 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");    





}
4

1 回答 1

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
于 2014-08-31T23:55:01.590 回答