在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/C/ C語言中strcpy函數(shù)的使用的問題

C語言中strcpy函數(shù)的使用的問題

1.問題:我按老師給的步驟把代碼敲好后,發(fā)現(xiàn)并不能像老師的運(yùn)行結(jié)果那樣能把字符數(shù)組src中所有的字符都轉(zhuǎn)換到字符數(shù)組dest中,我的運(yùn)行結(jié)果只能取到src中的一部分,請(qǐng)問這是為什么?

2.相關(guān)代碼截圖
![圖片上傳中...]

3.運(yùn)行結(jié)果截圖圖片描述

3.任務(wù)要求及老師運(yùn)行出來的結(jié)果
圖片描述

2.嘗試過很多方法/搜索過百度必應(yīng)/問過群里一些朋友,但我仍不能解決這個(gè)問題,求助,萬分感謝您的回答!

回答
編輯回答
終相守

你在scanf..語句后面輸出printf("%s\n", &p);看看輸出是否和輸入一致。
如果是空格后面的數(shù)據(jù)被截掉了,可以使用scanf("%[^\n]", &p);

2018年7月10日 18:36
編輯回答
懷中人

你好,這個(gè)現(xiàn)象是因?yàn)槭褂胹canf輸入的時(shí)候輸入空格后,自動(dòng)認(rèn)為輸入結(jié)束,下面在你的原代碼上做了注釋分析:

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
char src[80]={'\0'};
char dest[80]={'\0'};
char *p=src;
printf("請(qǐng)輸入一串字符:");
scanf("%s",p);
/*當(dāng)輸入hello,nice to meet you!時(shí),遇到“nice”后的空格認(rèn)為輸入結(jié)束,
所以只保存了前一部分內(nèi)容“hello,nice”*/
strcpy(dest,src);
printf("執(zhí)行strcpy前dest的內(nèi)容:\n");
printf("執(zhí)行strcpy前dest的內(nèi)容:%s",dest);
return 0;
}

建議使用gets函數(shù)輸入字符可以避免上述情況,代碼如下,只做小小修改就好啦~

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
char src[80]={'\0'};
char dest[80]={'\0'};
char *p=src;
printf("請(qǐng)輸入一串字符:");
gets(p);
strcpy(dest,src);
printf("執(zhí)行strcpy前dest的內(nèi)容:\n");
printf("執(zhí)行strcpy前dest的內(nèi)容:%s",dest);
return 0;
}

執(zhí)行結(jié)果如下
圖片描述

望采納哦!

2018年8月30日 10:20