为什么即使变量不是静态的结果也是一样的?

问题描述 投票:0回答:1
char next_char(void){

   char letter='a';

    while(letter!='z'){
            letter=letter+1;
    char next_char(void);
    }
    printf("%c",letter);

}

当变量 letter 是静态的时,它在内存中有一个特定的位置,并且它的寿命与程序相同,因此每次我们初始化变量letter时,它都会更新。但是如果它不是静态的,变量的寿命 letter 与函数相同,所以我无法找到为什么这个程序不无限运行并且每次返回相同的结果(z);

c static generator
1个回答
0
投票

char next_char(void);
是不调用函数的函数原型。

您需要调用它:

next_char();
,您将看到所需的输出https://godbolt.org/z/KhaTEndbP

© www.soinside.com 2019 - 2024. All rights reserved.