c语言-关于字符数组最后一个元素的小问题

问题描述

关于字符数组最后一个元素的小问题

#include
main()
{
char a[5];
scanf("%c%c",&a[1],&a[2]);
a[3]='m';
printf("%cn",a[4]);
}
运行结果:
ab
?
请按任意键继续. . .

请问最后一位难道不应该是随机值吗?为什么输出了“?”

解决方案

? 应该是不能识别的字符,例如纯英文下输出汉字
可能是凑巧是? 也可能是替换符号,
凡是不能识别的都用?代替

解决方案二:

是随机的,恰好是'?'

解决方案三:

不在调试情况下运行,多运行几次就会发现有时是不一样的结果。

解决方案四:

这个怎么是随机呢?,没给a〔4〕赋过值,那么这个元素所在的地址中原本是什么值就输出什么吧。

解决方案五:

反正就是个未初始化的值,所以都有可能

时间: 2024-11-01 17:15:10

c语言-关于字符数组最后一个元素的小问题的相关文章

编程-如何用C语言的一维数组对一个元素的增删改

问题描述 如何用C语言的一维数组对一个元素的增删改 今天老师讲了C语言的一维数组,就是大批量处理数据的一个工具,他说自己回去 思考增删改查,唯独删除我理解不到,哪位大神可否指点迷津!多谢多谢啦 解决方案 比如,你确认你的数组中存放的都是整数,你可以将这个元素置为-1表示删除.增加就是先检查你的数组中有没有-1的元素,如果有,就设置为你的值.如果全部都满了,就开一个更大的数组,把数据拷贝过去. 解决方案二: 数组是数据结构中的顺序存储结构,删除就是将其下标所在位置的中的内容置为空(也就是0),然后

指针-c语言中字符数组初始化问题

问题描述 c语言中字符数组初始化问题 字符数组初始化1: char str[]=""123"";//不报错2: char str[4]; str=""123"";//不能将const char[4] to char[4]字符指针初始化1: char *str=""123"";//不报错2: char *str; str=""123"";//不报错求

c语言中字符数组系统初始化为什么?

问题描述 c语言中字符数组系统初始化为什么? c语言中声明一个字符数组,如果自己没有初始化,那系统初始化为什么?是被初始化为空字符吗?我的实验结果好像是空字符 解决方案 在debug调试下,vc会将它初始化为0xcc 0xcc...,也就是"烫烫烫烫...",release运行的时候,vc++不会初始化,内容随机,但是很大可能是0,因为只有在堆内存被重新分配的时候,才可能出现其他值. 其它编译器不好说. 解决方案二: C语言字符数组的初始化C语言字符数组的初始化

php访问数组最后一个元素的函数end()用法

 这篇文章主要介绍了php访问数组最后一个元素的函数end()用法,实例分析了php中end函数访问数组元素的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了php访问数组最后一个元素的函数end()用法.分享给大家供大家参考.具体分析如下: end()函数在PHP中用于检索数组中的最后一个元素.end()函数需要一个数组作为其唯一参数,并返回给定数组最后一个元素的元素值. ? 1 2 $users = array ("baidu.com", "haoso

C++语言如何用数组实现一个二叉树?

问题描述 C++语言如何用数组实现一个二叉树? 提示,二叉树的第n层可以用数组的第2^(n-1)~2^n-1表示.定义一个二叉树,并且实现对它的遍历. 解决方案 struct node { int l,r; }; struct node tree[100]; int path[100]; int ans; void init() { int i; ans = 0; for(i = 0 ; i < 100 ; i ++ ) tree[i].l = tree[i].r = -1,path[i] =

php访问数组最后一个元素的函数end()用法_php技巧

本文实例讲述了php访问数组最后一个元素的函数end()用法.分享给大家供大家参考.具体分析如下: end()函数在PHP中用于检索数组中的最后一个元素.end()函数需要一个数组作为其唯一参数,并返回给定数组最后一个元素的元素值. $users = array ("baidu.com", "haosou.com", "sina.com", "jb51.net"); print end($users); 上面的代码返回:jb5

php获取数组最后一个元素的方法

例  代码如下 复制代码 $array=array(1,2,3,4,5);   echo $array[count($array)-1];//计算数组长度,然后获取数组最后一个元素,如果数组中最后一个元素含有非数字键名,结果可能跟预期不符合   //适用于键名为数字的数组   echo '<br>';   echo end($array);//将数组的内部指针指向最后一个单元,适用于所有数组   rsort($array);//对数组逆向排序,如果数组中含有字母或汉字,结果可能不符合预期,最适

C++语言基础-字符数组

奇怪的是,C++不支持字串变量(放置文本的变量),C++程序中的字串是用char数据类型的数组表示的.例如,可以将变量赋予char数组如下: char text[] = "This is a string."; 这就在内存中分配18字节的内存空间用于存放字串.根据你的领悟能力,也许你会发现该字串中只有17个字符.分配18个字节的原因是字串要以终止null结尾,C++在分配内存空间时把终止null算作一个字符. 新术语 终止null是个特殊字符,用|0表示,等于数值0.程序遇到字符数组中

JavaScript使用pop方法移除数组最后一个元素用法实例

 下面的代码演示了JS数组的pop方法,可以用来移除数组的最后一个元素,实际上就是把数组当成堆栈使用   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <!DOCTYPE html> <html> <body> <p id="demo"> Click the button to remove the last array element. </p> <button onclic