gpt4 book ai didi

c - 我的输出总是在我期望的输出之前打印 '.' 。 CS50 PSET2

转载 作者:行者123 更新时间:2023-11-30 16:54:58 26 4
gpt4 key购买 nike

#include <stdio.h>
#include <cs50.h>
#include <string.h>
#include <ctype.h>

int main(int argc, string argv[])
{
for (int i = 0; i < argc; i++)
{
printf ("%c", toupper(argv[i][0]));
}
printf ("\n");
}

它应该获取您的全名并返回您的姓名首字母缩写。它返回它应该返回的内容,除了它总是在我的输出之前返回一个句点。

最佳答案

打印 argv 字符串数组中每个元素的第一个字符。第一个元素 argv[0] 是可执行文件的名称。您可能将可执行文件调用为 ./myprogram,因此首先打印 .

您应该从条目号 1 开始枚举 argv。此外,您应该将 char 转换为 (unsigned char) 因为 toupper() 仅针对 unsigned char 类型的所有值和特殊值 EOF 定义,而不是 char< 的潜在负值 输入(如果默认已签名)。

#include <ctype.h>
#include <stdio.h>

int main(int argc, char *argv[]) {
for (int i = 1; i < argc; i++) {
putchar(toupper((unsigned char)argv[i][0])));
}
putchar('\n');
return 0;
}

关于c - 我的输出总是在我期望的输出之前打印 '.' 。 CS50 PSET2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40437347/

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