gpt4 book ai didi

c - 如何打印从函数返回的数组元素作为指针?

转载 作者:太空宇宙 更新时间:2023-11-04 07:07:10 25 4
gpt4 key购买 nike

我想打印月份名称,它是一个数组元素(作为指针从函数返回..)

这是我的功能:

/*I have taken this from book by Dennis Ritchie*/
/* month name : return name of n-th month */
char *month_name(int n){
static char *name[] = {
"illegal month","January","February","March","April","May","June","July",
"August","September","October","November","December"};
return (n < 1 || n > 12) ? name[0] : name[n];
}

现在我无法在我的 main() 函数中收集这个指针。我试过这种方式

void main(void)
{
int k = 0, i = 0;
char *s;
printf("Enter month number\n");
scanf("%d",&k);

s = month_name(k);
for(i = 0; *(s+i) != '/0'; i++)
printf("%c",*(s+i));
getch();
}

最佳答案

之所以不行,是因为下面写的不对

for ( i = 0; *(s+i) != '/0'; i++)

你在现实中试图实现的是在空终止符处停止。然而!您代码中的空终止符不正确。

请更改为以下内容:

for ( i = 0; *(s+i) != '\0'; i++)

Null terminator = '\0'. You wrote '/0'.

关于c - 如何打印从函数返回的数组元素作为指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31740768/

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