gpt4 book ai didi

c - 当整数存在时 C 中字符数组的行为

转载 作者:行者123 更新时间:2023-11-30 21:15:06 27 4
gpt4 key购买 nike

我无法获取该程序的输出意味着该程序如何运行?有人可以帮我吗?

#include<stdio.h>

int main(){
char c[]={'1','2','3',0,'1','2','3'};
printf(c); //gives 123 as output
char d[]={'1','0','3',0,'1','2','3'};
printf(d); //gives 103 as output
return 0;
}

这会将我在 0 之前插入的所有字符作为字符串输出。
我还想解释为什么 printf 打印 0 之前的所有字符?

最佳答案

数组中间有一个0printf 将打印到 char 数组中的第一个 0。此外,单引号中不能包含多个字符。单引号定义字符而不是字符串。最后,您应该以 0 结束您的 char 数组。

试试这个:

char c[]={'1','4','3','3','0','1','2','3',0};

请注意,中间的 0 周围有引号,使其成为一个字符,而最后的 0 周围没有引号结束字符串。

关于c - 当整数存在时 C 中字符数组的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13109350/

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