C语言如何获取并输出字符串数组中每个元素的首字母?
简便实现方法
直接输出首字符
每个字符串的首字母就是二维数组对应位置的第一个元素,直接用%c格式符输出即可,无需额外调用字符串复制函数:
#include <stdio.h> void try(){ char myChar[3][20] = {"yee", "no"}; // 直接初始化数组,省去strcpy操作 printf("%c\t%c", myChar[0][0], myChar[1][0]); } int main(){ try(); return 0; }
循环遍历输出(适配多元素场景)
如果数组内字符串数量较多,用循环遍历的方式更高效,避免重复编写输出语句:
#include <stdio.h> void try(){ char myChar[3][20] = {"yee", "no", ""}; int i; // 遍历非空字符串,输出每个字符串的首字母 for(i = 0; i < 3 && myChar[i][0] != '\0'; i++){ printf("%c\t", myChar[i][0]); } } int main(){ try(); return 0; }
核心说明
- 二维字符数组中,
myChar[i]指向第i个字符串的起始地址,myChar[i][0]就是该字符串的第一个字符(即首字母)。 - 直接初始化数组比调用
strcpy更简洁,同时减少了冗余的内存操作。
内容的提问来源于stack exchange,提问作者7Ver7dict7
相关产品推荐
相关产品推荐

