请问各位大神为什么我在输入的時候没有输入换行符但是输出的时候会给我自动换行了呢不是说内部存储的时候系统会在后面加上'\0'吗那为什么输出的时候会自动换行了还囿就是charc[]={'H'... 请问各位大神为什么我在输入的时候没有输入换行符 但是输出的时候会给我自动换行了呢
不是说内部存储的时候系统会在后面加上'\0'嗎 那为什么输出的时候会自动换行了
不是说内部存储的时候系统会在后面加上'\0'嗎 那为什么输出的时候会自动换行了
-
来自电脑网络类芝麻团 推荐于
-
换行是puts的自带技能使用puts会自动换行
// 这里字符输出数组c的长度为2,包含'H','i'這两个元素不含字符输出串结束符
// c只是一个字符输出数组,不能作为字符输出串使用;
char c[]={'H','i'};
还有问题的话可以继续追问
按照你说的试了下 请問为什么没加上'\0'的会变成这样呢
因为会一直输出直到遇到值为'\0'的内存,没有初始化的内存是随机值就出现了乱码
因为你调用的是puts这个函數,这个函数会自动给你添加1个换行符如果你的字符输出串里有换行符再用这个换行符就会换行2次了 字符输出串数组都以'\0'结尾,如果你沒加会给你自动加前提是按"asdsa"这样双引号的形式自动换行是puts的原因如果你用printf就不换行了 char c[]={'H','i','\0'};跟char c[]={'H','i'}; 前面一个是字符输出串 后面一个是字符输出数组鈈是字符输出串因为没有显示的'\0',看你要字符输出串还是字符输出串数组了