所以我正在编写这个程序,将用户输入存储在链表上并将其反转,但我有点迷茫。是否可以为不返回任何值的循环类型提供循环不变量?例如,位于 main 内部的循环。
这是我用来在 main 中获取用户输入并将其存储在链表中的循环示例,当然代码上还有更多内容,但我只展示了相关的内容。
typedef struct node {
char x; // data
struct node* next; // link to next node
} Node;
int main(void){
char c = ' ';
Node* start = NULL;
Node* temp;
while(c!='.'){
c=getchar();
temp=(Node*)calloc(1, sizeof(Node));
temp->x = c;
temp->next = start;
start = temp;
}
是否有可能为此提出一个循环不变量?另外,程序正确性是什么意思,在我的情况下如何证明它?
谢谢!