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

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

為什么ps=day_name(name,i); //////這樣調(diào)用也對(duì)

為什么ps=day_name(name,i); //////這樣調(diào)用也對(duì)

C C#
慕絲7291255 2022-07-21 15:11:07
#include <stdio.h>int main(){static char *name[]={"illegal day","monday","tuesday","wednesday","thursday","friday","staurday","sunday"};char *ps;int i;char *day_name(char *name[],int n ); /////為什么要這樣聲明呢???printf("input day no :\n");scanf("%d",&i);if(i<0) exit(1);ps=day_name(name,i); //////這樣調(diào)用也對(duì),為何????printf("day no: %d-->%s\n",i,ps);return 0;}char *day_name(char *name[],int n) ///////////{char *pp1,*pp2;pp1=*name;pp2=*(name+n); ///////這樣賦值,為什么?????return ((n<1 || n>7) ?pp1 : pp2 ); /////////////直接返回pp1,pp2也對(duì),為什么???}////////////////////////////////input day no :4day no: 4-->thursdayPress any key to continue
查看完整描述

1 回答

?
UYOU

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

首先,C語(yǔ)言某些編譯器不支持隱式聲明,也就是說(shuō)在main函數(shù)后面定義的函數(shù)必須在調(diào)用他之前聲明一下,聲明的時(shí)候,一定要一模一樣,在這個(gè)程序中這種聲明方式是不規(guī)范的,不建議這么做,最好寫(xiě)在main函數(shù)外面。
其次,我們注意到day_name這是一個(gè)指針函數(shù),返回的類(lèi)型是是一個(gè)字符指針,而ps定義的時(shí)候也是一個(gè)字符指針,所以這么調(diào)用是對(duì)的,通俗一點(diǎn)說(shuō)就是day_name這個(gè)指針函數(shù)執(zhí)行結(jié)束后返回的字符指針存放到ps中。然后通過(guò)這個(gè)ps指針指向的地址獲得的值就是函數(shù)返回的值,只不過(guò)通過(guò)指針操作了而已
第三, pp2這樣賦值的想法應(yīng)該是讓pp2指向name數(shù)組的最后一個(gè)位置,這里name代表name數(shù)組的首地址(這個(gè)明白吧?)加多少就代表這個(gè)指針往后挪多少個(gè)位置。
最后,return返回的時(shí)候,會(huì)先把括號(hào)里面的式子都執(zhí)行結(jié)束后,然后返回執(zhí)行結(jié)束后的值,也就是說(shuō)這里返回的一定是pp1或者pp2 ,并不是返回的一個(gè)式子

查看完整回答
反對(duì) 回復(fù) 2022-07-24
  • 1 回答
  • 0 關(guān)注
  • 111 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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