嗨,我是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个字符?
答案 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的原因是因为数组索引从零开始,所以第一个术语在零元素中,第一个术语在第一个元素中,等等。然后你只是继续这种方式。
如果你有一个模式,那就容易多了,因为那样你就可以在模式上编写一个循环,而且编码器的工作量也不会那么多。