【发布时间】:2018-07-14 02:15:21
【问题描述】:
我正在尝试在名为“userval”的函数中引用全局变量,然后根据用户输入修改这些变量。我需要在函数结束时返回这些变量吗?
我试图通过在主函数中打印这些全局变量来检查我的代码。但是,我不断收到随机字符。
下面是我的代码。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// Global Constants
#define MAX_PSWD_LEN 80
char password = 0;
int len = 0;
int upper = 0;
int lower = 0;
int digit = 0;
int special = 0;
int main(int argc, char *argv[]) {
userval();
printf(&len);
printf(&upper);
printf(&lower);
printf(&digit);
printf(&special);
}
int userval() {
printf("Please enter the minimum length of your password: \n");
scanf("%d", &len);
printf("Please enter the minimum number of uppercase letters in your password: \n");
scanf("%d", &upper);
printf("Please enter the minimum number of lowercase letters in your password: \n");
scanf("%d", &lower);
printf("Please enter the minimum number of decimal digit characters in your password: \n");
scanf("%d", &digit);
printf("Please enter the minimum number of special characters in your password: \n");
scanf("%d", &special);
printf("Thank you. \n");
return len, upper, lower, digit, special;
}
【问题讨论】:
-
你不能从一个函数返回多个值,并且由于这些变量是全局的,你不需要返回任何东西,它们已经被改变了。您错误地使用了
printf。您可能需要查看相关文档。