#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
,因此将.
首先打印。
您应该argv
从条目号1开始枚举。此外,应将char
as强制转换为as,(unsigned char)
因为toupper()
它仅为typeunsigned char
和special值的所有值定义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;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句