C語言對數組的操作(刪除特定元素)


因為C語言數組的連續性,導致其對元素的增添比較不方便。

如何刪除一個元素?

idea: 使用for循環將后一個元素值賦給前一元素,以達到覆蓋效果。但最后一位數將重復兩次。可以考慮對length進行操作達到控制輸出的目的。

tips: 有時候剩下的多余數字位能夠留下位置方便我們添加自己的元素。

core codes:

//給定數字num,在數組a[]里面找到比num小的數據並刪除它們。
scanf("%f", &num);
for(int j = 0; j < size; j++) {
	if( a[j] < num ) {
		size = size - 1;    //將代表數組大小的變量size縮小1
		for(x = j; x < size; x++) {    //進行向前覆蓋操作
			a[x] = a [x + 1];
		}
		j--;    //這一步十分重要!因為向前覆蓋之后,現在的j位已經是后面一位數了。
	}            //所以在進行下次循環之前需要將j回退一位重新判斷!
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM