c++怎么用printf输出字符串数组和变量

C++中怎么输出string里面自己想要的一段字符串?
[问题点数:40分]
本版专家分:0
CSDN今日推荐
本版专家分:147
本版专家分:127
本版专家分:11977
2014年7月 C/C++大版内专家分月排行榜第三2014年6月 C/C++大版内专家分月排行榜第三
本版专家分:369999
2017年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第二
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本版专家分:3644
本版专家分:64965
2011年8月 C/C++大版内专家分月排行榜第一2010年12月 C/C++大版内专家分月排行榜第一
2011年9月 C/C++大版内专家分月排行榜第二2011年4月 C/C++大版内专家分月排行榜第二2010年11月 C/C++大版内专家分月排行榜第二
2011年6月 C/C++大版内专家分月排行榜第三
本版专家分:268
本版专家分:124
本版专家分:0
匿名用户不能发表回复!
其他相关推荐c++输出函数printf的问题_百度知道
c++输出函数printf的问题
下面这段话是《c语言深度剖析》中的话,说不到万不得已,不要使用printf。为什么?从现在开始,除非在特殊情况下,不允许用printf这个函数。为什么呢?很多学生写完代码,直接用print...
下面这段话是《c语言深度剖析》中的话,说不到万不得已,不要使用printf。为什么?从现在开始,除非在特殊情况下,不允许用 printf 这个函数。为什么呢?很多学生写完代码,直接用 printf 打印出来,发现结果不对。然后就举手问我:老师,我的结果为什么不对啊?连调试的意识都没有!大多数学生根本就不会调试,不会看变量的值,内存的值。只知道 printf 出来结果不对,却不知道为什么不对,怎么解决。这种情况还算好的。往往很多时候 printf 出来的结果是对的, 然后呢, 学生也理所当然的认为程序没有问题。 是这样吗?往往不是,往后看,你能看到例子的。永远给我记住一点:结果对,并不代表程序真正没有问题。所以,以后尽量不要用 printf 函数,要去看变量的值,内存的值。当然,在我们目前的编译器里,变量的值,内存的值对了就代表你程序没问题吗?也不是,往后,你也会看到例子的。这个时候呢,学生往往会莫名其妙。这个老师有问题吧。大学里我们老师都教我们怎么用 printf,告诉我们要经常用 printf。这也恰恰是大学教育失败的地方之一。很多大学老师根本就没真正用C语言写过几行代码, 更别说教学生调试代码了。 不调试代码, 不按F10或F11,水平永远也无法提上来,所以,要想学好一门编程语言,最好的办法就是多调试。你去一个软件公司转转,去看人家的键盘,如果发现键盘上的 F10 或 F11 铮亮铮亮,毫无疑问,此机的主人曾经或现在是开发人员 (这里仅指写代码的, 不上升到架构设计类的开发人员)还有一些疑问,像这段语句:printf(&%d,%c\n&,i,j),%d代表整型,还是d代表整型?%起什么作用?还有,c是字符型,输出的要是double型,那应该是哪个?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
来自知道合伙人认证行家
数学类行家
采纳数:17414
获赞数:45568
14年本科毕业于河南理工大学,至今就读于河南理工大学攻读硕士学位,从事编程学习已有5年。
printf函数的一般格式是:& printf(格式控制,输出表列)printf函数调用的一般形式printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如:“%d”表示按十进制整型输出;“%ld”表示按十进制长整型输出;“%c”表示按字符型输出等。例如://参考代码如下://参考代码如下:#include&iostream&#include&&stdio.h&using&namespace&int&main(){&&&&int&a=88,b=89;&&&&printf(&%d&%d\n&,a,b);&&&&printf(&%d,%d\n&,a,b);&&&&printf(&%c,%c\n&,a,b);&&&&printf(&a=%d,b=%d&,a,b);&&&&return&0;}/*运行结果:88&8988,89X,Ya=88,b=89&*/
stomachcao
stomachcao
采纳数:1097
获赞数:4145
那以后用cout 好了
额,除了cout,还有什么能代替printf?
用cout是句玩笑话,你引用的那段材料是告诉我们需要去理解程序的真正计算过程,而不是只去看一个结果,而不是真的不去用printf。不然的话,ACM也别举办了,不输出了,靠什么来判定你的程序对错啊。另外补充 double 是 lf%
本回答被提问者采纳
longinus_dean
longinus_dean
采纳数:641
获赞数:1854
首先printf是c语言的函数,不是c++的,因为c++兼容c语言所以能用,不过要注意我说的,这个是有区别的我觉得这篇文章可能是在批评的printf的没有任何检查错误的能力吧,就是说没有类型检查,例如char c = 'a';printf(&%d&,c);这个你说能输出吗?能输出,不过你又会问,变量是char类型的,printf的输出符是%d,%d不是输出int类型的吗,这也能输出?也能输出!这就是为了什么说printf没有类型检查的问题所以就算能输出,并不代表你的程序就能输出对,就没错。看这段文字可能主要问题并不是在说printf的错误,主要是在谈论调试的问题,中国一般大学是不会教有关调试的东西,这也是一个很可惜,很可悲的地方,其实只要知其然,也知其所以然,无论用什么函数输出,都并没问题的。
采纳数:826
获赞数:2201
他说这话的意思是学学程序调试技巧吧。
采纳数:12
获赞数:18
%是代表输出的格式,d是代表整形
其他2条回答
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。在C语言里,printf怎么输出2个变量?_百度知道
在C语言里,printf怎么输出2个变量?
{inta,b,c,sum,sum1;a=10;b=20;c=30;sum=a+b;sum1=a+b+cprintf(&sum=%d/n&,sum);}就是这段程序%d代表输出整数的sum吗?怎么输出2个变量呢?1楼,我编译失败了我用DEV编译printf(&sum=...
int a,b,c,sum,sum1;
sum1=a+b+c
printf (&sum=%d/n&,sum);}
就是这段程序%d代表输出整数的sum吗?怎么输出2个变量呢?1楼,我编译失败了我用DEV编译printf (&sum=%d/n&,sun);能成功1到5楼的全不成功,为什么呢?别的没改就改了这一行
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:995
获赞数:11653
和输出一个变量类似,只要在前后都加上对应内容即可,如printf(&%d,%d\n&,a,b);printf(&输出格式类型&,变量);例如 int a = 10;int b = 20;printf(&%d,%d\n&,a,b);
采纳数:160
获赞数:558
{int a,b,c,sum,sum1;a=10;b=20;c=30;sum=a+b;sum1=a+b+c;printf (&sum=%d+%d/n&,a,b);//输出两个变量值printf (&sum=%d/n&,sum);//输出一个变量值}
本回答被提问者采纳
擅长:暂未定制
#include&stdio.h&int main(){
int a,b,c,sum,sum1; a=10; b=20; c=30; sum=a+b; sum1=a+b+c printf(&sum=%d /n&, sum); system(&PAUSE&);return 0;} /*这是个比较完整得C程序,你试试,你上面得好像没用main()函数*/
<span class="wgt-replyer-all-uname
" data-href="https://zhidao.baidu.com/usercenter?uid=ff705e573750
<span class="wgt-replyer-all-card-name3 wgt-replyer-all-card-names" data-href="https://zhidao.baidu.com/usercenter?uid=ff705e573750
采纳数:444
获赞数:860
printf (&sum=%d%d/n&,a,b);我知道了,你一定没有引用&stdio.h&文件,看看
silenceandluo
silenceandluo
采纳数:414
获赞数:531
a,b;printf(&%d
采纳数:25
获赞数:75
是输出10进制整数printf(&a=%d,b=%d&,a,b)
擅长:暂未定制
是代表输出sum.输出两个变量,如sum,sum1.printf(&sum=%dsum1=%d&,sum,sum1)这种问题书上应该讲的很清楚啊,建议多看课本.
其他5条回答
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C/C++中printf和C++中cout的输出格式_Linux编程_Linux公社-Linux系统门户网站
你好,游客
C/C++中printf和C++中cout的输出格式
来源:Linux社区&
作者:tjunxin
一、 Printf 输出格式&C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项。各项的意义介绍如下:&1.类型类型字符用以表示输出数据的类型,其格式符和意义下表所示:
&表示输出类型的格式字符       格式字符意义&a& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & 浮点数、十六进制数字和p-计数法(C99)&A& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & 浮点数、十六进制数字和p-计数法(C99)&c                 输出单个字符&d                 以十进制形式输出带符号整数(正数不输出符号)&e                 以指数形式输出单、双精度实数&E                 以指数形式输出单、双精度实数&f                  以小数形式输出单、双精度实数&g                 以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大&
于等于精度时使用&G                 以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大于等于精度时使用&i& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
有符号十进制整数(与%d相同)&o                 以八进制形式输出无符号整数(不输出前缀O)&p& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & 指针&s                 输出字符串&x                 以十六进制形式输出无符号整数(不输出前缀OX)&X                以十六进制形式输出无符号整数(不输出前缀OX)&u                 以十进制形式输出无符号整数&#include "stdio.h"&#include "conio.h"&main()&{& & & printf("The program test print style!\n");& & & printf("%d\n" , 223);& & & printf("%d\n" , -232);& & & printf("\n");& &
& & & printf("%o\n" , 223);& & & printf("%o\n" , -232);& & & printf("\n");& &
& & & printf("%x\n" , 223);& & & printf("%x\n" , -232);& & & printf("\n");& &
& & & printf("%u\n" , 223);& & & printf("%u\n" , -232);& & & printf("\n");& &
& & & printf("%f\n" , 223.11);& & & printf("%f\n" , 232.);& & & printf("%f\n" , -223.11);& & & printf("%f\n" , -232.);& & & printf("\n");& &
& & & printf("%e\n" , 223.11);& & & printf("%e\n" , 232.);& & & printf("%e\n" , -223.11);& & & printf("%e\n" , -232.);& & & printf("\n");& &
& & & printf("%g\n" , 223.11);& & & printf("%g\n" , 232.);& & & printf("%g\n" , -223.11);& & & printf("%g\n" , -232.);& & & printf("\n");& &
& & & printf("%c\n" , 'a');& & & printf("%c\n" , 97);& & & printf("\n");& &
& & & printf("%s\n" , "this is a test!");& & & printf("%s\n" , "u");& & & printf("\n");& & & getch();&}
相关资讯 & & &
& (05月21日)
& (03月12日)
& (05/22/:16)
& (03月17日)
& (05/23/:27)
& (05/10/:27)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款C/C++&字符串输入输出
#include&stdio.h&
void main()
char s[20];
scanf("%s",s);
printf("%s\n",s);
#include&stdio.h&
void main()
char s2[20];
注:下面测试中 a 与 b 一样
#include &stdio.h&
void main()
char a[5]={"abcd"}; //最后一位存储的是'\0'
char b[5];
b[4]='\0'; //&'\0'的ASCII编码是 0
#include &iostream&
#include &string&
void main()
&//C++类 对象;不能用scanf printf输入输出
cout&&str&&
(一)所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。
&这样命名空间std内定义的所有标识符都有效(曝光)。就好像它们被声明为全局变量一样。
  class String { ... };
  // somelib.h
  class String { ... };
  如果按照上述方式定义,那么这两个头文件不可能包含在同一个程序中,因为String类会发生冲突。
  所谓命名空间,是一种将程序库名称封装起来的方法,它就像在各个程序库中立起一道道围墙。
(二)&iostream&和&iostream.h&和格式不一样:
C++标准为了和以前的C++代码(伪标准库)区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。当使用&
iostream&的时候,该头文件没有定义全局命名空间,必须使用namespace
std,这样才能正确使用cout。
后缀为.h的头文件c++标准已经明确提出不支持了,当使用&iostream.h&时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现。
#include &iostream&
void main()
char a[20];&
//C++标准库提供了专有的字符串类型string。必要时再用字符数组作为字符串,因为字符数组限定了输入字符串的长度
三、错误:
#include&stdio.h&
void main()
&//一个未初始化的,可存储char型地址的变量。
scanf("%s",s);
#include&stdio.h&
void main()
char s[20];
scanf("%s",s);
printf("%s\n",*s);
//*s相当于s[0],返回一个char型字符。
printf("%s\n",s);
四、很不合适的用法
#include&stdio.h&
void main()
char *a=new
char();//只申请了存储一个char类型的空间,却用来存储一个字符串(尽管这样用没有错误)
scanf("%s",a);
printf("%s\n",a);
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 strlen 的文章

 

随机推荐