use*_*857 5 c string variables scanf char
我想从名字字符串变量中取出第一个字母,并将其添加到姓氏变量的第二个字母中。
到目前为止我的计划是:
#include <stdio.h>
main() {
char firstname [256];
char lastname [256];
printf("What's your first name?: ");
scanf("%c",&firstname);
printf("What is your last name? ");
scanf("%s",&lastname);
printf("\nYour school.edu e-mail address is: %c%s2@school.edu",firstname,lastname);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是,我希望我的代码采用第一个首字母(名字的第一个字母)并将其存储到 firstname 变量中。
由于字符串是字符数组,因此您需要从数组中取出第一个元素:
char firstname_initial;
firstname_initial = firstname[0]
Run Code Online (Sandbox Code Playgroud)
另请注意,由于lastname和firstname是缓冲区,因此您不需要在中传递指向它们的指针scanf:
scanf( "%s", firstname );
scanf( "%s", lastname );
Run Code Online (Sandbox Code Playgroud)
最后一件事 -scanf是一个危险的函数,你不应该使用它。