gpt4 book ai didi

c - 如何在不关闭程序的情况下重复main()函数?

转载 作者:行者123 更新时间:2023-11-30 20:04:02 24 4
gpt4 key购买 nike

我正在尝试制作一个密码生成器。一切都很顺利,直到我最后尝试重复主要功能。代码如下:

我也非常感谢有关代码的反馈。我仍在学习(不过我们什么时候停止学习?)并且我想尽可能多、尽可能快地提高。

// password generator
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main ()
{
char answer;
int c=0;
int passlength;
char randLWUPchar; // lowercase, uppercase, characters + numbers
srand(time(NULL)); // seeding function


printf("Type the wished password length:");
scanf("%d", &passlength);

while(c < passlength){
randLWUPchar = "qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNM"[rand () % 65];
printf("%c", randLWUPchar);
c++;
}
printf("\n\n\t\t...if it fails to prompt as wished, please restart...\n");

printf("\n\n\t\t Please select Y to restart or N to close");
scanf("%c", &answer);

if (answer == 'Y'){
return main();
}
else if (answer == 'N'){
return EXIT_SUCCESS;
}
}

最佳答案

我建议重构您的函数以不使用递归。

随着优化器的全面启动,这个尾部调用应该很容易优化,但你不应该依赖优化器。请改用循环。

尝试如下:

do
{
// your code
} while(answer == 'Y');

return ERROR_SUCCESS;

关于c - 如何在不关闭程序的情况下重复main()函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44506844/

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