2013.8.28

2024-05-29 11:18
文章标签 28 2013.8

本文主要是介绍2013.8.28,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 第1个问题:

下面的程序输出什么?为什么?

const int g_c = 5;

int main()
{
    const int a = 10;
    int* p = (int*)&a;
    int* pg = (int*)&g_c;

    *p = 1;
    
    printf("a = %d\n", a);
    printf("*p = %d\n", *p);

    *pg = 2;

    printf("g_c = %d\n", g_c);
    printf("*pg = %d\n", *pg);

    return 0;


 在C++中的输出是: 
a = 10
*p = 1

在C语言中的输出是
a = 1
*p = 1

在C++中const得到真正的加强,变成了真正意义的常量。虽然在取地址的情况下编译器为其分配了空间(C语言必定义static变量就为他分配空间),但是这个空间里面的值其实没有用。
为什么最后两个没有打印呢,因为C语言一定会把全局const变量放入只读存储区,而C++则在取地址的情况下在只读空间中为const常量分配空间,既然是只读的,那么代码中试图改变这个值肯定会产生段错误。 
局部静态变量在静态存储区
      类似static var = 1;这样的方式,那数据会在data段,如果是static var;这样的定义方式,那数据会在bss段;前者在生产可执行文件时就分配好内存
(编译时确定),
后者在加载时才分配。malloc之类或局部变量,才会在运行期动态分配内存


写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,
outputstr所指的值为123456789
给个提示这个问题可以在遍历一般字符串后得到答案
就是一个统计的问题已


#define IS_FIGURE(x) ((x) >= '0' && (x) <= '9')


int continumax(char *outputstr,char *inputstr)
{
    int maxLen = 0;
    int currentLen = 0;
    char* pMaxStart = NULL;
    char* pCurrentStart = NULL;
    char* pCurrent = inputstr;
    
    if (NULL == outputstr || NULL == inputstr)
    {
        return 0;
    }
    
    while (*pCurrent != '\0')
    {
        if (IS_FIGURE(*pCurrent))
        {
            if (0 == currentLen)
            {
                pCurrentStart = pCurrent;
            }
            
            currentLen++;
        }
        else
        {
            if (currentLen > maxLen)
            {
                maxLen = currentLen;
                strncpy(outputstr, pCurrentStart, maxLen);
            }
            
            currentLen = 0;
        }
        
        pCurrent++;
    }
    
    return maxLen;
}

这篇关于2013.8.28的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1013516

相关文章

【vue3|第28期】 Vue3 + Vue Router:探索路由重定向的使用与作用

日期:2024年9月8日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉在这里插入代码片得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01365 = 37.7834;0.99365 = 0.0255 1.02365 = 1377.4083;0.98365 = 0.0006 说

【抽代复习笔记】28-群(二十二):四道子群例题

例1:证明,循环群的子群是循环群。 证:设G = (a),H ≤ G。 (1)若H = {e},则H是一阶循环群; (2)设H至少包含2个元素,即设H = {...,a^(-k),a^(-j),a^(-i),a^0,a^i,a^j,a^k,...}, 其中a^i是H中正指数最小的元素,0<i<j<k, 下证a^i是H的生成元: 对任意的a^t∈H(t∈Z),存在q∈Z,使得t = qi

【C++学习(28)】通俗一点讲解:std::bind 回调技术

std::bind 是 C++11 标准库中的一个功能,它允许你“绑定”某些参数到一个函数、成员函数或可调用对象上,从而生成一个新的可调用对象。这种新的可调用对象可以稍后被调用,而且其中一些参数已经被预先设置好了。这在回调函数和异步编程中特别有用。 下面我用一个通俗的例子来解释 std::bind 是如何工作的。 假设场景 假设你有一个家庭厨师,他有一个技能叫做“做饭”。做饭需要两个参数:一

『功能项目』Unity连接读取本地数据库【28】

打开上一篇27账号登陆注册界面UI搭建的项目, 本章要做的事情是本地数据库的连接与读取数据库中的道具信息(刀、铁块) 访问官方网站:MySQL 一、下载Mysql 首页滑到最下面,选择Downloads下的MySQL Community server 点击查看下载历史版本 下载完毕后将文件解压到你想保存到的盘和目录内。我是将文件解压到E:Program FilesM

代码随想录 刷题记录-28 图论 (5)最短路径

一、dijkstra(朴素版)精讲 47. 参加科学大会 思路 本题就是求最短路,最短路是图论中的经典问题即:给出一个有向图,一个起点,一个终点,问起点到终点的最短路径。 接下来讲解最短路算法中的 dijkstra 算法。 dijkstra算法:在有权图(权值非负数)中求从起点到其他节点的最短路径算法。 需要注意两点: dijkstra 算法可以同时求 起点到所有节点的最短路径权值不

代码随想录第八天|151.翻转字符串里的单词 卡码网:55.右旋转字符串 28. 实现 strStr() 459.重复的子字符串

反转字符串的单词 思路:刷过稍微忘记 class Solution {public://去除空格string remove(string s){//使用快慢指针int slow=0;int i=0;for(;i<s.size();i++){if(s[i]!=' '){if(slow!=0){s[slow++]=' ';}while(s[i]!=' '&&i<s.size()){s[slow+

2024.08.28 校招 实习 内推 面经

🛰️  :neituijunsir    交* 流*裙 ,内推/实习/校招汇总表格  1、校招 | 吉利控股集团2025届全球校园招聘启动(内推) 校招 | 吉利控股集团2025届全球校园招聘启动(内推) 2、校招 | 滴滴2025秋季校招正式启动(内推) 校招 | 滴滴2025秋季校招正式启动(内推) 3、校招 | 2025年上汽集团校园招募行动全面启动啦! 校招 |

leetcode解题思路分析(四)22-28题

括号生成 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 很容易想到采用回溯法解决该题,通过画出树分析递归规律可得如下代码 class Solution {public:void backtrace(int left, int right, int n, string& s, vector<string>& res) {if (left == n

idea 编译断点运行 tomcat 10.1.28 源码

idea 编译运行 tomcat 10.1.28 源码 1. 所需资源 tomcat 10.1.28 zulu JDK 22 maven idea (支持 JDK 22) 2. Idea 导入项目 10.1.28.tar.gz 解压到指定文件夹 如 ~\tomcat-source\tomcat-10.1.28 这里等待一段时间,生成 ~\tomcat-source\tomcat-10.1.

借助文本样式为网页赋予生命——WEB开发系列28

文本样式不仅仅是装饰,它对用户体验和网站的可读性有着重要影响。 一、基本文本和字体样式 1. 字体 CSS 中的字体属性定义了文本的外观,包括字体的类型、大小、粗细等。我们来详细了解这些属性: 字体颜色 使用 ​​color​​​ 属性可以设置文本的颜色。例如: p {color: #333; /* 深灰色 */} 字体种类 ​​font-family