C:在屏幕上打印单独的字母

时间:2013-10-23 15:51:48

标签: c string

嗨,我是C的新手,我很难找到一种只打印String的第4,第5或第10个字母的方法。

我有这个小代码:

char firstWord[100];
char secondWord[100];

printf("Please type in: Hello World\n");
fgets(firstWord, sizeof(firstWord), stdin);

printf("Please type in: How are you?\n");
fgets(secondWord, sizeof(secondWord), stdin);

printf("You typed: %s,%s", firstWord, secondWord);

strcat(firstWord, secondWord);

printf("together it looks like this: %s", firstWord);

现在我如何打印例如串联字符串的第4个或第6个字符?

3 个答案:

答案 0 :(得分:1)

C中的字符串只是char s的数组(末尾有'\0'),因此您可以使用array-subscript访问各个字符:

printf("%c", firstWord[3]); // don't forget 4th element is at [3] 
                            // & use %c for char

答案 1 :(得分:0)

试试这个

printf("%c", firstword[3]); // for 4th character

答案 2 :(得分:0)

由于您使用的是数组样式字符串,因此您可以:

    printf("%c", firstWord[3]);

对于第四个字母,就像那样。它是3的原因是因为数组索引从零开始,所以第一个术语在零元素中,第一个术语在第一个元素中,等等。然后你只是继续这种方式。

如果你有一个模式,那就容易多了,因为那样你就可以在模式上编写一个循环,而且编码器的工作量也不会那么多。