gpt4 book ai didi

c - 为什么下面的 C 语言代码会给出这样的输出?

转载 作者:行者123 更新时间:2023-11-30 20:46:56 26 4
gpt4 key购买 nike

#include<stdio.h>

void main(){
char p[20];
char *s="string";
int i;
int length= strlen(s);
for(i=0;i<length;i++)
p[i]=s[length-i]; // it shows expected values when checked here, character by character.

//But, if it's printed as string, it shows blank.
printf("%s",p);

//And now, again checking it character by character, it behaves like nothing is stored.
for(i=0;i<strlen(p);i++)
printf("%c",p[i]);
}
}

它什么也不打印。当遍历for时循环并检查变量 p的值,表示期望值;但在 for 循环之外检查时它不保存任何内容。进而为什么?

最佳答案

第一个赋值p[i]=s[length-i]p[0]设置为结束字符串s<的空终止符.

因此尝试在数组 p 上使用 printf 将不会输出任何内容。

关于c - 为什么下面的 C 语言代码会给出这样的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37595839/

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