C如何在字符串数组中打印字符串的大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C如何在字符串数组中打印字符串的大小相关的知识,希望对你有一定的参考价值。

我有以下代码:

int main() 
    char** a = "bob", "alex", "john";
    for (int i = 0; i < 3; i++) 
        printf('%d', sizeof(a[i]));
    

我在这里尝试做的是初始化一个字符串数组,遍历它,并打印每个单词的大小。但是我得到细分错误。我的方法有什么问题?

答案

这里是有效代码:

#include <stdio.h>
int main() 
    char* a[3] = "bob", "alex", "john";
    for (int i = 0; i < 3; i++) 
        printf("%d\n", strlen(a[i]));
    

注意,差异是char* a[3]而不是char**"%d"而不是'%d'strlen而不是sizeof

以上是关于C如何在字符串数组中打印字符串的大小的主要内容,如果未能解决你的问题,请参考以下文章

c程序打印未知大小的字符串数组的元素

c语言字符数组如何比较?

C程中如何计算数组(一维及二维)占内存空间的大小

数组大小和字符串拆分

在C中打印反转的字符串/数组

如何从文件中加载二维字符数组并使用 ncurses.h 在 C 中使用 mvprintw() 打印它?