| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 605 人关注过本帖
标题:有一个疑问和一个并不知道怎么改正的题目
只看楼主 加入收藏
kuaisha
Rank: 2
等 级:论坛游民
帖 子:120
专家分:30
注 册:2016-8-3
结帖率:100%
收藏
 问题点数:0 回复次数:2 
有一个疑问和一个并不知道怎么改正的题目
程序代码:
#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;
    
    
2016-08-09 14:09
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
char name[20];/*可以不要[20]吗,为什么?假设我不知道应该分配多少字符,而且还要结尾对齐的时候怎么办*/
不能,一定要加[20],除非你初始化name[]。
onenumber = strlen(onename);
twonumber = strlen(twoname);
2016-08-09 15:52
kuaisha
Rank: 2
等 级:论坛游民
帖 子:120
专家分:30
注 册:2016-8-3
收藏
得分:0 
回复 2楼 linlulu001
谢谢,现在才发现关键字都打错了。
2016-08-09 20:28
快速回复:有一个疑问和一个并不知道怎么改正的题目
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048907 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved