main() {char a[20]="How are you?",b[20];scanf("%s",b);printf("%s %s\n",a,b);
运行结果是Howareyou?How可我觉得是HowHow输出字符串a时为什么遇到第一个空格不终止啊谢谢大家帮忙啊还有个问题doublex;x=-3223.87654;p...
运行结果是How are you? How 可我觉得是How How 输出字符串a时为什么遇到第一个空格不终止啊 谢谢大家帮忙啊
还有个问题 double x;x=-3223.87654;printf("%-6.2e\n",x);
输出为-3.2e+03 为什么啊 这个输出格式里的6和2到底指什么 谢谢 展开
还有个问题 double x;x=-3223.87654;printf("%-6.2e\n",x);
输出为-3.2e+03 为什么啊 这个输出格式里的6和2到底指什么 谢谢 展开
4个回答
展开全部
字符串是以看不见的 '\0'字符结束的,不是空格,所以How are you? 可以打印完; 至于输入的时候,scanf用空格当做分隔符了,所以再输出b的时候没有了后半截。
printf的格式的意义用MSDN搜 “Format Specification Fields: printf and wprintf Functions”
6.2的意思是,输出至少(注意是至少)占用6位(包括小数点".", e+003 的"e+" ),同时小数点后有两位。
你把代表左对齐的“-”去掉,然后打印
int main()
{
double x;x=-3223.87654;
printf("%e\n",x);
printf("%20e\n",x);
}
很容易数明白的。
printf的格式的意义用MSDN搜 “Format Specification Fields: printf and wprintf Functions”
6.2的意思是,输出至少(注意是至少)占用6位(包括小数点".", e+003 的"e+" ),同时小数点后有两位。
你把代表左对齐的“-”去掉,然后打印
int main()
{
double x;x=-3223.87654;
printf("%e\n",x);
printf("%20e\n",x);
}
很容易数明白的。
展开全部
b遇到第一个空格终止时因为scanf遇到空格就不再读,而不是因为printf不打印。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输出终止?字符串a,b连续输出的。
读取的时候像ls所说的一样,scanf跳过首空白读取内容后遇到空白就返回。
printf("%-6.2e\n",x);
6表示输出数据占的总的宽度,2表示保留小数位的个数。
读取的时候像ls所说的一样,scanf跳过首空白读取内容后遇到空白就返回。
printf("%-6.2e\n",x);
6表示输出数据占的总的宽度,2表示保留小数位的个数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.字符串不是以空格结尾的,而是以'\0'结尾的.
2,6指的是将显示字符的总宽度,.2表示小数点后保留两位..
3,scanf在接收字符时遇到空格就不再读入.
2,6指的是将显示字符的总宽度,.2表示小数点后保留两位..
3,scanf在接收字符时遇到空格就不再读入.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询