第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C語言中關(guān)于字符串指針的問題?

C語言中關(guān)于字符串指針的問題?

C
廢寢忘食陳同學(xué) 2019-08-19 16:00:21
#include <stdio.h>void copy(char *p,char *q){? ? while(*p++=*q++);? ? ?printf("%s",p);}int main(){? ? char *a="asd";? ? char *b="sad";? ? copy(a,b);? ? return 0;}我想進(jìn)行字符串復(fù)制,就是把a給復(fù)制成b的內(nèi)容,請問為什么一直出錯?好像提示是內(nèi)存出問題但我不明白
查看完整描述

1 回答

已采納
?
onemoo

TA貢獻(xiàn)883條經(jīng)驗 獲得超454個贊

看來你知道“字符串”也就是“字符數(shù)組”;也知道數(shù)組在這里會隱式轉(zhuǎn)型為指向其首元素的指針,那么:

代碼中的 "asd"?和 "sad"?這樣直接寫出來的字符串叫作“字符串字面量”——是的,它也是字符數(shù)組——但它是不可修改的,一般存在于程序中的只讀數(shù)據(jù)段中,修改它會導(dǎo)致未定義行為,通常就是崩潰出現(xiàn)“內(nèi)存不能為?read”之類的提示...


解決辦法是:不要用字符串字面量,而是用普通的字符數(shù)組,這就沒有不能修改的問題了

char?a[]?=?"asd";
char?b[]?=?"sad";


查看完整回答
1 反對 回復(fù) 2019-08-19
  • 1 回答
  • 0 關(guān)注
  • 2914 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號