gpt4 book ai didi

计算C中未定义的字符数组的索引#

转载 作者:行者123 更新时间:2023-11-30 19:03:10 25 4
gpt4 key购买 nike

我正在尝试计算未定义的字符数组的索引数量,该数组用作函数中的参数。

我已经知道,如果我的数组是固定的,我可以使用“sizeof”,但这里的情况并非如此。

尝试:

int counting(char *name3) {
int count = 0;
int i;

//I have no idea what to put as my condition nor do I believe
//I am approaching this situation correctly...
for (i = 0; i < sizeof(name3); i++) {
if (name3[i] != '\0') {
count++;
}
}
return count;
}

那么如果通过下面的代码运行

int main(void) {
char *name = "Lovely";
int x = counting(name);
printf ("The value of x = %d", x);

打印:x = 0 的值

任何帮助或指示都会很棒。预先感谢您。

最佳答案

在 C 语言中,每个字符串都以 '\0'(空字符)结尾
您可以迭代直到遇到空字符

示例代码如下

char* name = "Some Name";
int len = 0;
while (name[len] != '\0') {
len++;
}

此外,如果它是一个 char 指针,而不是 char 数组,sizeof(char*) 在 32 位应用程序中将始终返回 4,在 64 位应用程序中返回 8( “指针”本身 - 内存地址大小)

关于计算C中未定义的字符数组的索引#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54511882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com