亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1955 | 回復: 2
打印 上一主題 下一主題

[C] C語言傳遞指針錯誤 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2016-03-01 09:21 |只看該作者 |倒序瀏覽
謝了一個substr函數(shù),打算是傳遞引用的,結果不成功,不知問題在哪,請各位幫忙,代碼如下:
char* substr(const char* str, unsigned start,unsigned end,char *str1)
{
  unsigned int n=end-start;
  static char stbuf[LINE_MAX_LENGTH];
  str1=stbuf;
  strncpy(stbuf,str+start,n);
  stbuf[n]='\0';
  return stbuf;
}

其中在substr函數(shù)內下斷點值都是正常的,比如gdb中  print str1 結果"AAAAAAAAAAA"
main函數(shù)調用

char *line_part1=(char*)malloc(LINE_MAX_LENGTH);
substr(info,0,11,line_part1);

gdb中  print line_part1=“”


論壇徽章:
2
程序設計版塊每日發(fā)帖之星
日期:2015-12-23 06:20:00每日論壇發(fā)貼之星
日期:2015-12-23 06:20:00
2 [報告]
發(fā)表于 2016-03-01 09:41 |只看該作者
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define LINE_MAX_LENGTH 100

char* substr(const char* str, unsigned start,unsigned end,char **pstr1) // 注意最后一個參數(shù)
{
  unsigned int n=end-start;
  static char stbuf[LINE_MAX_LENGTH];
  *pstr1=stbuf;
  strncpy(stbuf,str+start,n);
  stbuf[n]='\0';
  printf("%s\n", *pstr1);
  return stbuf;
}

int main() {

    char info[] = "abcdefg";
    char *line_part1;               // 不要申請內存
    substr(info,0,5, &line_part1);
    printf("%s\n", line_part1);

    return 0;
}

評分

參與人數(shù) 1信譽積分 +5 收起 理由
puresnow + 5 很給力!

查看全部評分

論壇徽章:
0
3 [報告]
發(fā)表于 2016-03-01 10:01 |只看該作者
謝謝!明白了。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP