有一个疑问和一个并不知道怎么改正的题目
程序代码:#include<stdio.h>
#include<string.h>
int main()
{
char name[20];/*可以不要[20]吗,为什么?假设我不知道应该分配多少字符,而且还要结尾对齐的时候怎么办*/
int twoname;
scanf("%s",name);
printf("\"%s\"\n",name);
printf("\"%-20s\"\n",name);
twoname=strlen(name)+3;
printf("\"%*s\"\n",twoname,name);
return 0;
}
程序代码:/*
首先要求用户输入名字,然后要求用户输入姓名,在下行打印每个名字中的字母的个数。把字母个数与相应名字的结尾对齐,如下所示
Melissa Honeybee
7 8
然后打印相同的信息,但是每个字母个数与相应单词的开始对齐。
Melissa Honeybee
7 8
*/
#include<stdio.h>
#include<string.h>
int main()
{
int onenumber,twonumber;
char onename[20],twoname[20];
printf("请输入姓\n");
scanf("%s",onename);
printf("请输入名\n");
scanf("%s",twoname);
onenumber = sizeof(onename);
twonumber = sizeof(twoname);
printf("%s%s\n",onename,twoname);
printf("%*d %*d\n",onenumber,onenumber,twonumber,twonumber);
printf("%s%s\n",onename,twoname);
printf("%-*d %-*d\n",onenumber,onenumber,twonumber,twonumber);
return 0;








