c语言 指针 地址溢出,堆栈溢出,指针在C中
我是C的新手,我正在尝试一些我发现的练习.
在其中一个练习中,我正在尝试使用指向字符串的指针(char数组),但它不起作用.它编译,但是当执行时,它会抛出"堆栈溢出"(好吧,我认为是"堆栈溢出",因为我用西班牙语).
这些是有问题的线:
//This is the variable declaration, before this, there is the "main function" declaration
char entrada[100];
char *ult=entrada;
char cantidadstr[10];
int i,j,k = 0;
int res;
scanf ("%s",entrada);
printf ("\n%s",entrada);
//Here crashes
printf ("Hola %s",ult);
while (*ult != "\0"){
//And here there's more code
先感谢您!!
编辑
(我不能回答:))然后,我会发布一些代码.
当我执行时,插入数据后,它会抛出"Violacióndesegmento",谷歌说这意味着Stack Overflow
#include
#include
#include
int main(void){
char entrada[1001*11*101];
/*Asi tenemos el tamano maximo:
1001 por las 1000 posibles lineas, mas la primera
11 por el tamano maximo del numero (1 + 9 ceros), mas el espacio o salto de linea siguiente
101 por el numero de numeros por linea, mas el primero
*/
char *ult=entrada;
char cantidadstr[10];
int i,j,k = 0;
int res;
memset (entrada,'\0',1001*11*101);
scanf ("%s",entrada);
printf ("\n%s",entrada);
//poniendo ese print ahi arriba, ese me lo muestra, por tanto, el fallo esta en el puntero de debajo de esta linea
printf ("Hola %s",ult);
while (*ult != "\0"){
if(*ult == "\n"){
if(i != 0){
printf("\n");
}
i++;
j = 0;
}
else if(i != 0){
if(*ult == " "){
j++;
k=0;
res = atoi(cantidadstr);
printf("%d ",res*2);
//Este es el otro cambio que hablaba
cantidadstr[10] = '\0';
}
else if(j != 0){
cantidadstr[k] = *ult;
}
}
k++;
*ult++;
}
return 0;
}
这是完整的代码,其他论坛的西班牙语评论."entrada"的大小足以支持练习中发送的任何数据.刚刚添加了"memset".第二条评论显示它崩溃的地方
谢谢你们的快速响应!!
c语言 指针 地址溢出,堆栈溢出,指针在C中相关推荐
- c语言mac地址加冒号,如何通过在Excel中添加冒号来格式化单元格中的mac地址?
如何通过在Excel中添加冒号来格式化单元格中的mac地址? 假设您收到一个包含数字列表的工作表,现在您需要通过添加冒号将所有这些数字格式设置为mac地址,如下面的屏幕截图所示. 您能做什么来实现呢? ...
- c语言打印地址的格式错误,printf()在c中以%p格式打印的地址是哪一个?
我有简单的代码如下: #include int glob; int main(void) { int a; printf("&a is : %p \n", &a); ...
- STM32堆栈溢出的主要的问题和现象
STM32堆栈溢出 堆栈溢出主要的问题和现象 堆栈溢出主要的问题和现象 一般RAM最后两块空间是堆Heap和栈Stack,堆顾名思义储存后指针指向地址往上增,对于栈我们常常说压栈顾名思义:栈使用的时候 ...
- 45.JVM调优策略、常见问题:内存泄漏(年老代堆空间被占满、持久代被占满、堆栈溢出、线程堆栈满、系统内存被占满)优化方法:优化目标、优化GC步骤、优化总结;案例分析(公司系统参数、网上给的配置参数)
45.JVM调优策略 45.1.常见问题 45.1.1.内存泄漏 45.1.1.1.年老代堆空间被占满 45.1.1.2.持久代被占满 45.1.1.3.堆栈溢出 45.1.1.4.线程堆栈满 45. ...
- python 堆栈溢出_内存 - 如何发生“堆栈溢出”,如何防止它?
堆 在此上下文中,堆栈是在程序运行时放置数据的最后进先出缓冲区. 最后一次出来(LIFO)意味着你输入的最后一件事总是你要退回的第一件事 - 如果你在堆叠上推2个项目,'A'然后'B',那么你首先要弹 ...
- 关于c语言中二维数组及相关指针的理解
一,示例 文章的开头让我们来先看关于c语言二维数组及相关指针的几句话. 假设a是一个整型的二维数组名,用<==>代表等价符号. 1,a可以代表这个二维数组的首行首地址,a+i代表序号为i的 ...
- 内存溢出和堆栈溢出_使用堆栈溢出的最佳和最差方法
内存溢出和堆栈溢出 Stack Overflow is an incredible collection of programming and software knowledge. Thousand ...
- C语言指针这一篇够了(一万二千字,包含指针与数组,函数指针等详解)
目录 零.前言 一.指针的定义 二.指针类型的意义 1.指针类型决定了指针解引用时一次访问几个字节. 2.指针类型决定了指针加减整数时的步长 三.野指针 1.未初始化的指针 2.指针的越界访问 3.指 ...
- Go基础:指针地址、指针类型、多重指针、指针运算
目录 到底什么是指针呢? 指针 指针地址和指针类型 指针取值 指针变量初始化 指针运算符 多重指针 指针运算 到底什么是指针呢? 内存就是一系列有序列号的存储单元,变量就是编译器为内存地址分配的昵称, ...
- 数组存储与指针学习笔记(三)指针与数组
嵌入式C语言学习进阶系列文章 GUN C编译器拓展语法学习笔记(一)GNU C特殊语法部分详解 GUN C编译器拓展语法学习笔记(二)属性声明 GUN C编译器拓展语法学习笔记(三)内联函数.内建函数 ...
最新文章
- 你需要掌握的三种编程语言
- 【数据结构-图】2.多图详解最小生成树(多图详解+实现代码)
- python学习:语句
- java 编写 欢迎你_社团联合会——java编程协会欢迎你的加入
- 【20181026T2】**图【最小瓶颈路+非旋Treap+启发式合并】
- 【图论】【并查集】矩形(ssl 1222)
- c#,xp系统,Matlab6.5
- WebSocket能干啥
- 设计师灵感交流社区|给你的作品一个舞台
- 电脑无法读取移动硬盘_移动硬盘U盘提示:文件或目录损坏且无法读取如何解决?...
- MySQL截取字符串的方法-substring_index
- php 课程节次周次提取,用PHP写一个最简单的解释器Part5(计算器最后一节,下节开始如何写个脚本语言)...
- hdu2369 Broken Keyboard(类似dfs)
- 浏览器 重定向次数限制_临近年关,修复ASP.NET Core因浏览器内核版本引发的单点登录故障...
- java喝醉怎么写,JAVA 代码代替 web.xml
- android 网易音乐sdk,Netease Music SDK 开发文档
- 各个国家/地区以及对应的手机区号
- 图像元数据(Metadata) ——Exif信息分析
- 英国告急!无油可售!加油站大排长龙 | 经济学人早报精选
- VBA之FormulaR1C1属性
热门文章
- Julia: 带汉字的CSV文件的处理
- 一文了解 Serverless 2021 大事件
- Kubernetes迁移指北 | 凌云时刻
- 智汇华云 | 集群自动化部署服务流程之自动化集群配置(下)
- ZStack 3.1 私有云率先支持IPv6 持续深耕精细化云平台
- 5G时代下的移动边缘计算(MEC)探索系列之四
- 【车间调度】基于matlab鸟群算法求解车间调度问题【含Matlab源码 1395期】
- 【图像评价】基于matlab GUI图像客观评价【含Matlab源码 855期】
- 四菱天线怎么加强_白话天线(2)---什么是天线?
- 自学人工智能途径_成为数据科学家,AI或ML工程师的自学途径