答案: exercise for string functions in c run-time library

 

下面是参考答案:

 

以下问题,请把答案手工写在纸上,考察的内容是c run-time library,请不要使用其他库和接口。

要求:a) 每个人独立完成,b) 可以参考书和电子文档,c) 明天9:00之前完成

答题纸交给牟凤林。

 

1       在下面的代码中,要求复制一个内容一样的字符串,使用什么函数? 在空格处填上函数名称。

         char* _pszA = "abcdefg";

         char* _pszAnotherA = strdup(_pszA);         // 目的:_pszAnotherA 的内容和 _pszA 一样。

 

2       刚才得到的 _pszAnotherA 需要是否需要释放内存?怎么释放?

         是的,需要用free函数释放。注:malloc/freec run-time lib标准的内存申请/释放函数。

 

3       说明strcmp, stricmp, strncmp, strnicmp的功能和区别。

        

 

4       说明_tcscpy, strcpy的区别。

        

 

5       下面的程序有什么问题? 怎么改正?

        void show_message(char* pszInfo_)

        {

            char _szBuffer[128];

            strcpy(_szBuffer, pszInfo_);

            //...以下省略

        }

 

         void show_message(char* pszInfo_)

         {

              char _szBuffer[4];

 

              if (pszInfo_)

              {

                   strncpy(_szBuffer, pszInfo_, sizeof(_szBuffer));

                   _szBuffer[sizeof(_szBuffer) - 1] = 0;

              }

              else

              {

                   _szBuffer[0] = 0;

              }

         }

        

6       下面的程序有什么问题? 怎么改正?

        char* _pszA = "My name is: <your name here>   ";

        char* _pszB = "Bob";

        strncpy(_pszA + sizeof("My name is: "), _pszB, 3);

 

        char _pszA[] = "My name is: <your name here>   ";

        char* _pszB = "Bob";

        strcpy(_pszA + sizeof("My name is:"), _pszB);   // 注意: "My name is:" 不是 "My name is: "

        

7       举例说明strcat的用法。

        

 

8       写个函数,输入某个串,从开始到结束依次打印出其中每个字母abc出现的位置(请使用for循环和合适的字符串函数完成)。

         void test8(const char* pszBuffer_)

         {

              char _szSet[] = "abc";

              for (char* _p = strpbrk(pszBuffer_, _szSet); _p; _p = strpbrk(_p + 1, _szSet))

              {

                   printf("%d ", _p - pszBuffer_);

              }

         }

 

9       举例说明strtok的用法。

        

 

10       写个函数,输入某个串,把其中每个"abc"子串都改成"123"然后打印出来(请使用for循环和合适的字符串函数完成)。

         void test10(char* pszBuffer_)

         {

              char _szSub[] = "abc";

              int _len = sizeof(_szSub) - 1;

              for (char* _p = strstr(pszBuffer_, _szSub); _p; _p = strstr(_p + _len, _szSub))

              {

                   strncpy(_p, "123", _len);

              }

         }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
import shap explainer = shap.TreeExplainer(reg) shap_values = explainer.shap_values(X_wrapper) shap.summary_plot(shap_values, X_wrapper,show=False) plt.title('SHAP Summary Plot') plt.xlabel('SHAP Value') plt.ylabel('Feature') plt.tight_layout() plt.savefig('E:/exercise/Nano/fig/shap_bay.pdf'),运行这段代码结果报错“initialization of _internal failed without raising an exception”,这个错误通常是由于Shap库的版本不兼容或缺少依赖项导致的。要解决这个问题,按照以上步骤操作后仍然报错“ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问。: 'G:\\Anaconda\\Lib\\site-packages\\~~mpy\\.libs\\libopenblas64__v0.3.21-gcc_10_3_0.dll' Consider using the `--user` option or check the permissions. Requirement already satisfied: shap in g:\anaconda\lib\site-packages (0.42.1) Requirement already satisfied: scikit-learn in g:\anaconda\lib\site-packages (from shap) (0.24.2) Requirement already satisfied: numba in g:\anaconda\lib\site-packages (from shap) (0.54.1) Requirement already satisfied: scipy in g:\anaconda\lib\site-packages (from shap) (1.7.1) Requirement already satisfied: numpy in g:\anaconda\lib\site-packages (from shap) (1.24.4) Requirement already satisfied: tqdm>=4.27.0 in g:\anaconda\lib\site-packages (from shap) (4.62.3) Requirement already satisfied: packaging>20.9 in g:\anaconda\lib\site-packages (from shap) (21.0) Requirement already satisfied: cloudpickle in g:\anaconda\lib\site-packages (from shap) (2.0.0) Requirement already satisfied: slicer==0.0.7 in g:\anaconda\lib\site-packages (from shap) (0.0.7) Requirement already satisfied: pandas in g:\anaconda\lib\site-packages (from shap) (1.3.4) Requirement already satisfied: pyparsing>=2.0.2 in g:\anaconda\lib\site-packages (from packaging>20.9->shap) (3.0.4) Requirement already satisfied: colorama in g:\anaconda\lib\site-packages (from tqdm>=4.27.0->shap) (0.4.6) Collecting numpy Downloading numpy-1.20.3-cp39-cp39-win_amd64.whl (13.7 MB) Requirement already satisfied: setuptools in g:\anaconda\lib\site-packages (from numba->shap) (58.0.4) Requirement already satisfied: llvmlite<0.38,>=0.37.0rc1 in g:\anaconda\lib\site-packages (from numba->shap) (0.37.0) Requirement already satisfied: pytz>=2017.3 in g:\anaconda\lib\site-packages (from pandas->shap) (2021.3) Requirement already satisfied: python-dateutil>=2.7.3 in g:\anaconda\lib\site-packages (from pandas->shap) (2.8.2) Requirement already satisfied: six>=1.5 in g:\anaconda\lib\site-packages (from python-dateutil>=2.7.3->pandas->shap) (1.16.0) Requirement already satisfied: threadpoolctl>=2.0.0 in g:\anaconda\lib\site-packages (from scikit-learn->shap) (2.2.0) Requirement already satisfied: joblib>=0.11 in g:\anaconda\lib\site-packages (from scikit-learn->shap) (1.1.0) Installing collected packages: numpy Attempting uninstall: numpy Found existing installation: numpy 1.24.4 Uninstalling numpy-1.24.4: Successfully uninstalled numpy-1.24.4”,应该如何解决?
最新发布
07-23

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值