gpt4 book ai didi

c - 如何指向和修改全局变量 - C 编程

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

我试图在名为“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 函数不是这样工作的。

第一个参数是格式字符串。它包含您要打印的任何静态文本以及您要打印的任何值的格式说明符。

例如,如果您只想打印一个整数后跟一个换行符,您将使用的格式字符串是 "%d\n",其中 %d是整数的格式说明符,\n 是换行符。

任何后续参数都用于填充格式。对于要打印的值,您可以执行以下操作:

printf("%d\n", len);
printf("%d\n", upper);
printf("%d\n", lower);
printf("%d\n", digit);
printf("%d\n", special);

关于c - 如何指向和修改全局变量 - C 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48601983/

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