gpt4 book ai didi

c - 使用 C 和指针进行练习

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

尝试编辑问题以使其更清楚,这里的代码应该打印字符串及其长度,但不是打印 12 的长度,而是仅打印 1。参数 (char *s) 不能是更改,while 循环的条件必须基于 s = s + 1 增量,但对于长度,它仍然必须返回 i。

#include<stdio.h>
#include<string.h>
#define CADENA_PRUEBA "Hola a todos"

int longitud_string(char *s){
int i;
i=0;
while(*s != '\0')
s = s + 1;
i++;
return i;
}

int main(void){
char string1[] = CADENA_PRUEBA;
printf("cadena: %s\n", string1);
printf("longitud cadena: %d\n", longitud_string(string1));

return 0;
}

最佳答案

it is only printing 1

int longitud_string(char *s){
int i;
i=0; // Set i = 0
while(*s != '\0')
s = s + 1;
i++; // Set i = 1
return i; // return i (1)
}

您可能想要的是:

int longitud_string(char *s)
{
int i = 0;
while(*s != '\0')
{ // Need brace here
s = s + 1;
i++; // Increment both in the loop

} // Close brace here.
return i;
}

但是我们可以这样简化:

int longitud_string(char *s)
{
int i = 0;
while(s[i] != '\0') {
i++;
}
return i;
}

关于c - 使用 C 和指针进行练习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49040515/

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