| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 448 人关注过本帖
标题:关于 printf 的问题。这里出现多对双引号,求指导。
只看楼主 加入收藏
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
关于 printf 的问题。这里出现多对双引号,求指导。
程序代码:
/*加密*/
#include<stdio.h>
#include<string.h>  /*字符数组以0结尾*/
#define MAXLINE 100
void encrypt(char *);
int main()
{
    char line[MAXLINE];

    printf("Input the string:");
    gets(line);

    encrypt(line);
    printf("%s%s\n","After being encrypted:",line);/*看这步。为什么有2个%s,一般输出一个不就行了吗。
                                                   还为什么有2对双引号,为什么输出的结果是After句子在前,字符串在后。*/

    return 0;

}
void encrypt(char *s)
{
    for(;*s!='\0';s++)
        if(*s=='z') *s='a';
        else *s=*s+1;
}
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 双引号 
2014-11-09 18:08
Adws
Rank: 2
等 级:论坛游民
帖 子:19
专家分:87
注 册:2013-7-29
收藏
得分:20 
%s %d %c %f之类的 叫做转换说明符
printf的格式:
printf ("控制字符串",参数2,参数3);
控制字符串里左起第一个转换说明符对应参数2,第二个转换说明符对应参数3,以此类推.
所以:
printf("%s%s\n","After being encrypted:",line);
第一个%s对应"After being encrypted:"
第二个%s对应line
这样说应该明白为什么  输出的结果是After句子在前,字符串在后   了吧
至于2对双引号,C语言里 字符串都是用双引号括起来的,第一对是控制字符串,第二对是%s对应的字符串.
2014-11-09 18:45
Adws
Rank: 2
等 级:论坛游民
帖 子:19
专家分:87
注 册:2013-7-29
收藏
得分:0 
%s %d %c %f之类的 叫做转换说明符
printf的格式:
printf ("控制字符串",参数2,参数3);
控制字符串里左起第一个转换说明符对应参数2,第二个转换说明符对应参数3,以此类推.
所以:
printf("%s%s\n","After being encrypted:",line);
第一个%s对应"After being encrypted:"
第二个%s对应line
这样说应该明白为什么  输出的结果是After句子在前,字符串在后   了吧
至于2对双引号,C语言里 字符串都是用双引号括起来的,第一对是控制字符串,第二对是%s对应的字符串.
2014-11-09 18:45
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
回复 2 楼 Adws
说的好,谢谢。~
2014-11-09 21:14
快速回复:关于 printf 的问题。这里出现多对双引号,求指导。
数据加载中...
 
   



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

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