0

嗨,我是 C 新手,我无法找到仅打印字符串的第 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 个字符?

4

3 回答 3

1

C 中的字符串只是一个chars 数组(以 a'\0'结尾),因此您可以使用数组下标访问各个字符:

printf("%c", firstWord[3]); // don't forget 4th element is at [3] 
                            // & use %c for char
于 2013-10-23T15:56:11.773 回答
0

尝试这个

printf("%c", firstword[3]); // for 4th character
于 2013-10-23T15:54:55.827 回答
0

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

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

对于第四个字母,以此类推。它是 3 的原因是因为数组索引从零开始,所以第一项在零元素中,第二项在第一个元素中,等等。然后你就继续这样处理所有这些。

但是,如果您有一个模式,这会容易得多,因为您可以在该模式上编写一个循环,而对编码人员来说不会花费太多精力。

于 2013-10-23T15:56:45.657 回答