c語言中的一道題目 求高手解,C語言中的一道題目 求高手解

2021-12-19 09:57:30 字數 909 閱讀 2895

1樓:匿名使用者

char s1[2][6]=;首先s1賦值 s1[0]="honey" s1[1]="well"

char *s2=(char*) s1; s2指向s1

printf("%s", (char*)(s1+1)); 輸出 *(s1+1)=well

printf("%s", s2+1); 輸出 s2+1 是s1[0]的位址+1 按s%輸出 oney

具體你說的沒有任何結果就不得而知了,你編譯器壞掉了?

還是少打了個*讀到了不該讀到的位址掛掉了

*(*(s1+i)+j)可以獲得其中的某乙個元素 例如『n』就是 *((*s1)+2)

2樓:

輸出「welloney」

說明:對於指標s1,因定義的是二維陣列,所以s1+1即s[1],而s[1]即「well」;

而s2是乙個字元指標,所以s2指向"honey",而s2+1則指向"oney"

以上兩字串連續輸出,即為「welloney」

沒有輸出結果,可能是程式執行過快而造成顯示後即退出顯示視窗,所以在結尾加上一句getch()同時在主函式前加上#include

3樓:

輸出結果如下:

welloney

我用vs2010得到上邊的結果

s1定義成陣列,則s1+1 指 s1的中的元素向前移動一位,因為定義了s1有6列,所以s1+1相當於將s1的首位址移動6個位元組,所以輸出的是第二行的well

s2因為定義成了指標,所以s1+1只是在位址值上單純加1,所以輸出了oney

4樓:匿名使用者

輸出的是 welloney

求一道c語言題目解答求一道C語言題目解答

pow 函式原型是 double pow double,double n pow 1 rate,year 這句裡year 是int 型,改為double 另外輸入函式 將 f 改為 lf 這句話的意思是 你輸入的時候要用這種形式 money 1000.0,year 2.0,rate 0.5money...

C語言的一道題目,C語言tow函式題目一道

include include 標頭檔案 include 標頭檔案 int main int a 111 b 100 c 111 n,m,k 0,t,l 0,s scanf d d n,m srand unsigned time null srand 就是給rand 提供種子 for int i 0...

求解一道C語言程式設計題目,求一道C語言程式設計題

說一下思想 先定義乙個int min 1000000 或者其他大於4的數,因為陣列 專最大就4,按行屬列遍歷陣列所有元素,min min a i j a i j min 輸出的min即為所求 include define n 2 int getmin int a n int m,int n int ...