我正在练习使用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");
}
答案 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);
}