C語言學習筆記 入門篇 5

2021-10-21 10:03:49 字數 2324 閱讀 1292

本篇內容為兩道練習題,以加強對前面四節課的鞏固。

ps:本系列內容為程式媛學習c語言時做的筆記。以**為主,並備註了列印結果以及詳盡的解釋注釋。希望對你有所幫助。

c語言筆記入門篇包含多篇內容,當前位置:第五篇

題目:求printf的輸出結果

#include

intmain()

;// a[4] 挪動到第四個元素 記憶體位址的值,最終得1

int result = a[

*(a+

*(a+4)

)];printf

("result的值是:%d\n"

, result)

;// 輸出1

return0;

}

題目:用多種方法實現對字串的擷取

char

* str =

"sunhl_"

;char

* result;

函式(result, str,2,

5); 或者 函式(

&result, str,2,

5);printf

("%s\n"

, result)

;// 要求最終輸出:nhl

三種實現方式:

#include

#include

#include

void

substraction1

(char

*result,

char

*str,

int start,

int end)

temp++

;//取值位置挪動

count++

;//當前位置挪動}}

void

substraction2

(char

*result,

char

*str,

int start,

int end)

// *result = temparr;

// 不能用*result = temparr,因為substraction2()方法在彈棧之後,會**裡面所有成員變數,包括temparr

//解決方案1:用strcpy(如下)。 2:開闢堆空間,見substraction3()

strcpy

(result, temparr);}

void

substraction3

(char

**result,

char

*str,

int start,

int end)

*result = temparr;

//這裡不呼叫free,否則跟在棧區的arr一樣了,要在substraction3()呼叫拿到值之後再free。

// 所以不推薦用堆區這種方式,因為自己方法開闢的空間要自己去釋放。

}void

substraction4

(char

*result,

char

*str,

int start,

int end)

}void

substraction5

(char

*result,

char

*str,

int start,

int end)

intmain()

*/substraction4

(result, str,2,

5);substraction5

(result, str,2,

5);printf

("結果為:%s\n"

, result)

;// 最終輸出:nhl

return0;

}

注意:

1:char *result = null;//(會報錯,因為不准修改null值)

char *result = 「abc」;//(會報錯,因為不准修改常量值)

char result[100] = 「abc」//在棧區開闢空間[推薦方式]

2:直接寫char *result ,在vs上編譯不通過。

C語言學習筆記 入門篇 4

char str 加 0是因為printf遇到 0才會列印結束,否則會列印系統值。str 0 s printf 方式1 改變後 s n str 列印 sunhl char str2 sunhl 這句隱式缺省會加 0 str2 0 s 會崩潰 printf 方式2 改變後 s str2 上行崩潰了,此...

NumPy學習筆記 入門篇

numpy學習筆記 收集者 keengle 最近在學習scipy。在理解scipy之前,numpy作為scipy基本的模組之一,是不得不去理解掌握的。先總結一下numpy部分的內容吧。接下來學習scipy,最後是pylab和matplotlib。介紹numpy是乙個python的擴充套件模組,通過使...

Spring學習筆記 入門篇

說明 本章筆記是一些針對入門的簡單步驟的筆記,入門的同學不需要知道太多關於spring內部原理的東西。還有一些犄角旮旯的瑣碎知識,如果你面試會遇到,背背就可以了。1.spring是面向介面程式設計的。可忽略 2.spring2個核心 ioc di 和aop。ioc di 也叫控制反轉。是解決類之間的...