| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 321 人关注过本帖
标题:关于字符的
只看楼主 加入收藏
无果分
Rank: 1
等 级:新手上路
帖 子:22
专家分:1
注 册:2013-10-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
关于字符的
假如要输入类似Cylinder这样的字符串,单用一个%c够吗,用了之后出现“too many characters in constant”这个错误,再问下,%s是用什么的,
搜索更多相关主题的帖子: 字符串 
2013-11-06 17:43
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:10 
%c输入的是单个字符,%s是字符串,你把%c改成%s就可以了。
2013-11-06 17:52
雨夜梧桐
Rank: 2
等 级:论坛游民
帖 子:63
专家分:89
注 册:2010-6-4
收藏
得分:10 
两种方法,首先都要定义字符串数组,一种是利用循环输入(这个就是%c),另外一种是利用%s直接输入,在用%s的时候要注意scanf(“%s”,字符串字符的首地址)。
2013-11-06 23:19
无果分
Rank: 1
等 级:新手上路
帖 子:22
专家分:1
注 册:2013-10-26
收藏
得分:0 
回复 2楼 pangshch
改了之后还是不行啊,
#include<stdio.h>
#define pi 3.1415926
#include<math.h>
int main()
{
    char n;
    double a,b,c,s1,s2,s3,s4;
    while(scanf("%s",&n)!=EOF)
    {
        switch(n)
        {
        case 'Cylinder':scanf("%lf %lf",&a,&b);s1=pi*a*a*b;break;
        case 'Cuboid':scanf("%lf %lf %lf",&a,&b,&c);s2=a*b*c;break;
        case 'Cone':scanf("%lf %lf",&a,&b);s3=(pi*a*a*b)/3;break;
        case 'Ball':scanf("%lf",&a);s4=(4*pi*a*a)/3;break;
        }
        printf("%.3lf\n",s1+s2+s3+s4);
    }
    return 0;
}
就出现这个错误  too many characters in constant ,应该是说字符太长吧
2013-11-08 23:31
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:0 
回复 4楼 无果分
建议你把switch语句的知识复习一下,case 后面只能用整型(整数,或者单个字符,或者枚举型数据)。
你用个字符串, 串还用 单引号 ?
串是用双引号的
你复习一下前面学过的知识吧。
2013-11-09 16:37
快速回复:关于字符的
数据加载中...
 
   



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

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