新手。。C/C++输出出现一串问号
-水电费2018/12/129:28:19为啥执行后会打印出一串????问号呀,我把dor:后面的全删了他就打印汉字。。。一样可以运行#include<stdio.h>i...
-水电费 2018/12/12 9:28:19为啥执行后会打印出一串????问号呀 ,我把dor:后面的全删了他就打印汉字。。。一样可以运行
#include <stdio.h>
int main(void){
int n;
printf("请输入金字塔的层数:");
scanf("%d",&n);
for(int i=1; i<=n; i++){
for(int j=0;j<n-i;j++){
printf(" ");
}
for(int j=0;j<2*i-1;j++){
printf("*");
}
printf("\n");
}
return 0; 展开
#include <stdio.h>
int main(void){
int n;
printf("请输入金字塔的层数:");
scanf("%d",&n);
for(int i=1; i<=n; i++){
for(int j=0;j<n-i;j++){
printf(" ");
}
for(int j=0;j<2*i-1;j++){
printf("*");
}
printf("\n");
}
return 0; 展开
展开全部
近期研究设计模式,在程序输出时心血来潮用了c版本的printf,结果就蛋疼了,一直输出是乱码,
string s = "中国";
printf("%s" , s);//输出乱码
果断切换成c++版本的cout发现可以正常输出。于是上网找答案,居然惊讶的发现printf输出字符串是针对char *的,换言之,printf只能输出c语言中的内置数据,string不是c语言内置数据。
更深入的来说:s这个string类型的对象并非单单只有字符串,其内还有许多用于操作的函数,于是&s并非字符串“中国”的首地址,而是s这个对象的首地址。
所以要做如下操作:
string s = "中国";
printf("%s" , s.c_str());//string中c_str()成员方法返回当前字符串的首字符地址
或cout<<s;//string中重载了“<<”操作符
追问
没用
#include
int main(void){
int n=5;
printf("请输入金字塔的层数:");
scanf("%d",&n);
for(int i=1; i<=n; i++){
for(int j=0;j<n-i;j++){
printf(" ");
}
for(int j=0;j<2*i-1;j++){
printf("*");
}
printf("\n");
}
return 0;
}
展开全部
你的代码中有段中文,“请输入金字塔的层数".cmd无法显示中文,就变成了????????.
追问
那为什么我把中间的删除了它就能显示中文,而且我之前的练习项目都能显示出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询