我想显示每个数组索引的第一个字母. 例如:

myChar [0]的输出应为'y',myChar [1]应为'n'

#include <stdio.h>
#include <string.h>
void try(){

    char myChar[3][20];
    strcpy(myChar[0], "yee");
    strcpy(myChar[1], "no");

    printf("%s\t%s", myChar[0], myChar[1]);
}
int main(){
    try();
    return 0;
}

有简单的方法吗?

推荐答案

为了打印单个字符,您应该使用%c格式说明符而不是%s.更多信息请参见printf的文档.

myChar[0]的第一个字符是myChar[0][0]myChar[1]的第一个字符是myChar[1][0].

如果你修复了这些东西,那么你的代码应该是这样的:

#include <stdio.h>
#include <string.h>

int main( void )
{
    char myChar[2][20];
    strcpy( myChar[0], "yee" );
    strcpy( myChar[1], "no" );

    printf( "%c %c\n", myChar[0][0], myChar[1][0] );
}

这将打印以下内容:

y n

C++相关问答推荐

在C中使用强制转换将uint16_t转换为uint8_t [2]是否有效?

手动矢量化性能差异较大

为什么可以通过指向常量int的指针间接地改变整数的值?

数据包未从DPDK端口传输到内核端口

创建一个fork导致fget无限地重新读取文件

二进制计算器与gmp

进程在写入管道时挂起

平均程序编译,但结果不好

tick.q中的Kdb+键控表语法

添加函数会 destruct 嵌入式C代码(无IDE)

C";中的ANN运行时判断失败#2-变量outputLayer;周围的堆栈已损坏.运行后出错

为什么Linux无法映射这个PT_LOAD ELF段?

OMP并行嵌套循环

在Ubuntu上使用库部署C程序的最佳实践

在列表中查找素数

无法理解 fgets 输出

GnuCobol 使用 double 类型的参数调用 C 函数

这些表达式是否涉及 C 中定义的复合文字?

为什么INT_MIN是在c语言的头文件limits.h中定义的(-INT_MAX-1)而不是直接使用-2147483648

UEFI 应用程序中的计时器回调仅在 AMI BIOS 中挂起