本篇內容為兩道練習題,以加強對前面四節課的鞏固。
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 也叫控制反轉。是解決類之間的...