问题描述:今天写的一个程序数组声明为int s[MAX];当使用printf("%s\n", s);输出时,只输出了数组中的第一个元素。
解决方法:将数组的声明改为char s[MAX];之后输出才正常。
总结:%s格式输出是用来连续输出字符数组中的字符的,遇到‘\0‘结束输出,不能用于整型数组,所以如果数组中的元素不是char类型,则输出会出错,只会输出数组的第一个元素。
问题:为什么会输出整型数组的第一个元素
Posted Latuper
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c中使用%s格式输出时的坑相关的知识,希望对你有一定的参考价值。
问题描述:今天写的一个程序数组声明为int s[MAX];当使用printf("%s\n", s);输出时,只输出了数组中的第一个元素。
解决方法:将数组的声明改为char s[MAX];之后输出才正常。
总结:%s格式输出是用来连续输出字符数组中的字符的,遇到‘\0‘结束输出,不能用于整型数组,所以如果数组中的元素不是char类型,则输出会出错,只会输出数组的第一个元素。
问题:为什么会输出整型数组的第一个元素
以上是关于c中使用%s格式输出时的坑的主要内容,如果未能解决你的问题,请参考以下文章