#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");
}
它应该取你的全名并返回你的名字缩写。它返回它应该的内容,除了它总是在我的输出之前返回一个句点。
答案 0 :(得分:0)
您打印argv
字符串数组的每个元素的第一个字符。第一个元素argv[0]
是可执行文件的名称。您可能会将您的可执行文件调用为./myprogram
,因此首先打印的是.
。
您应该从条目号1开始枚举argv
。此外,您应该将char
强制转换为(unsigned char)
,因为toupper()
仅针对类型{的所有值进行了定义{1}}和特殊值unsigned char
,如果默认情况下已签名,则不是EOF
类型的潜在负值。
char