課程
/后端開發(fā)
/C
/C語言入門
不太理解為什么。
2019-02-15
源自:C語言入門 6-8
正在回答
你的代碼存在兩個漏洞:
首先,c語言中字符串不能用等號賦值,需要用strcpy;
其次,strcat需要第一個參數(shù)有足夠的空間,不然會導致內(nèi)存溢出(s2的空間正好只能放下“我愛,”加一個‘\n’字符,具體占幾個字節(jié)視編譯器的編碼而定,反正是沒有多余的空間的)。
正確代碼(不唯一):
#include<stdio.h> #include<string.h> int?main(){ ????char?s1[100]=""; ????char?s2[]="我愛,"; ????char?s3[]="慕課網(wǎng)"; ????strcat(s1,?s2); ????strcat(s1,?s3); ????printf("%s\n",s1); ????return?0; }
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
1 回答字符串變量是什么?為什么c語言中不存在字符串變量?
1 回答什么是字符串變量
1 回答字符數(shù)組題,將字符s1的前k個字符賦給s2,為什么運行不了
2 回答為什么字符串常量 不用格式符?
1 回答字符串常量為什么不用格式符%s
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2019-02-16
你的代碼存在兩個漏洞:
首先,c語言中字符串不能用等號賦值,需要用strcpy;
其次,strcat需要第一個參數(shù)有足夠的空間,不然會導致內(nèi)存溢出(s2的空間正好只能放下“我愛,”加一個‘\n’字符,具體占幾個字節(jié)視編譯器的編碼而定,反正是沒有多余的空間的)。
正確代碼(不唯一):