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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

請(qǐng)問(wèn)這個(gè)字符串操作哪里錯(cuò)了呢?感覺字符串操作很特別。。完全不會(huì)

請(qǐng)問(wèn)這個(gè)字符串操作哪里錯(cuò)了呢?感覺字符串操作很特別。。完全不會(huì)

C C++
慕姐6162487 2018-07-27 01:03:37
#include?<stdio.h>#include?<string.h>int?main() { char?a[10000]; ????????char?b[10000]; ????????printf?("請(qǐng)輸入兩個(gè)字符串:"); ????????while(1){ ????????putchar(a[0]); } ????????//scanf("%s\n"); ????????printf?("%s",a[0])?; ????????return?0;}上面的代碼執(zhí)行出來(lái)。。是永遠(yuǎn)在輸入,沒(méi)有輸出。。感覺字符串的操作很麻煩。。摸索到現(xiàn)在還是不太會(huì)。。再如以下的也有點(diǎn)奇怪的感覺#include?<stdio.h> #include?<stdlib.h> #include?<string.h> int?main(){ char?line[]?=?"hello,my?name?is?xx\n"; printf("%s",line); char?*copy?=?(char*)malloc(strlen(line)+1); strcpy(copy,line); copy[strlen(line)]?=?'\0'?; //printf("%s\n",*copy); printf("%s\n",copy); return?0;}問(wèn)題在于。。。上面的代碼最后一行為什么printf后面的copy不用加*呢?同樣是運(yùn)用指針,如果我用來(lái)操作打印int型變量就一定是要加*的,不然打印出來(lái)是地址。。但是字符串又不一樣。。。求各位大佬慷慨解釋一下
查看完整描述

1 回答

?
慕蓋茨9781818

TA貢獻(xiàn)25條經(jīng)驗(yàn) 獲得超19個(gè)贊

  1. 第一個(gè),因?yàn)槟愕膒uchar在while(1)中,你沒(méi)設(shè)置break的條件,會(huì)無(wú)限循環(huán)要求你輸入的,修改循環(huán)部分代碼

  2. C語(yǔ)言中是沒(méi)有特定字符串類型的,你使用%s輸出, 參數(shù)是一個(gè)指向字符數(shù)組的指針,所以你的copy不用加*, 因?yàn)閏opy本來(lái)就是個(gè)指針,你傳入int,他會(huì)認(rèn)為這是個(gè)指針來(lái)進(jìn)行操作,就會(huì)輸出地址,所以你需要加*號(hào)。

    可能有點(diǎn)沒(méi)描述清楚,但第二個(gè)你需要多看看指針相關(guān)的內(nèi)容。

查看完整回答
反對(duì) 回復(fù) 2018-07-27
  • 慕姐6162487
    慕姐6162487
    關(guān)于第一個(gè)代碼。。我剛試了下。。。直接加break。。也是一直在輸入的。。另外。。我之前不用while循環(huán),只寫了一個(gè)scanf。。也是一直在輸入的。。沒(méi)法輸出
  • 慕蓋茨9781818
    慕蓋茨9781818
    你用錯(cuò)函數(shù)了,。。。。之前沒(méi)注意,你應(yīng)該用getchar()呀
  • 1 回答
  • 0 關(guān)注
  • 1034 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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