C语言如何检查一个数组中元素的个数 c语言如何取数组元素个数?

c\u8bed\u8a00\u5982\u4f55\u5224\u65ad\u4e00\u4e2a\u6570\u7ec4\u4e2d\u91cd\u590d\u5143\u7d20\u7684\u4e2a\u6570\uff0c\u5e76\u8f93\u51fa\u8fd9\u4e2a\u4e2a\u6570\u7684\u503c\uff1f

\u5982\u4e0b\uff1a
#include #include int main(){int n;int *a;int i;scanf("%d", &n);a = (int *)malloc(sizeof(int) * n);for(i = 0; i a[j+1]) { int tmp = a[j]; a[j] = a[j+1]; a[j+1] = tmp; } }}int tmp = a[0];int count = 1;for(i = 1; i 1) { printf("\u6570\u7ec4\u5171\u6709%d\u4e2a\u6570\u5b57%d\n", count, a[i - 1]); } tmp = a[i]; count = 1; }}if(count > 1){ printf("\u6570\u7ec4\u5171\u6709%d\u4e2a\u6570\u5b57%d\n", count, a[i - 1]);}free(a);return 0;}
\u6211\u7684\u601d\u8def\u662f\uff0c\u5148\u6392\u5e8f\uff0c\u518d\u8f93\u51fa\u3002

1\u3001C\u8bed\u8a00\u4e2d\uff0c\u5b9a\u4e49\u6570\u7ec4\u540e\u53ef\u4ee5\u7528sizeof\u547d\u4ee4\u83b7\u5f97\u6570\u7ec4\u7684\u957f\u5ea6\uff08\u5373\u53ef\u5bb9\u7eb3\u5143\u7d20\u4e2a\u6570\uff09\u3002\u4f46\u662f\u901a\u8fc7\u4f20\u9012\u6570\u7ec4\u540d\u53c2\u6570\u5230\u5b50\u51fd\u6570\u4e2d\uff0c\u4ee5\u83b7\u5f97\u6570\u7ec4\u957f\u5ea6\u662f\u4e0d\u53ef\u884c\u7684\uff0c\u56e0\u4e3a\u5728\u5b50\u51fd\u6570\u5f53\u4e2d\uff0c\u6570\u7ec4\u540d\u4f1a\u9000\u5316\u4e3a\u4e00\u4e2a\u6307\u9488\u30022\u3001\u4f8b\u5982\uff1a
int data[4],length;length=sizeof(data)/sizeof(data[0]); //\u6570\u7ec4\u5360\u5185\u5b58\u603b\u7a7a\u95f4\u9664\u4ee5\u5355\u4e2a\u5143\u7d20\u5360\u5185\u5b58\u7a7a\u95f4\u5927\u5c0f\uff0c\u5373\u7b49\u4e8e\u5143\u7d20\u4e2a\u6570printf("length of data[4]=%d", length ); //\u8f93\u51falength of data[4]=4

对于字符数组str[N],判断方法有以下三种:

第一种:用库函数strlen
len = strlen(str); // 数组长度
第二种:利用计数器
int i=0;
while(str[i++] != '\0'); // 数组str的长度为i
第三种:利用sizeof函数
len = sizeof(str)/sizeof(str[0]); // 数组长度对于其他类型的数组,都可以用字符数组的第三种方法,第三种方法是通用的。

对于字符数组str[N],判断方法有以下三种:

len = strlen(str); // 数组长度
int i=0;
while(str[i++] != '\0'); // 数组str的长度为i
len = sizeof(str)/sizeof(str[0]); // 数组长度

对于其他类型的数组,都可以用字符数组的第三种方法,第三种方法是通用的。



看是什么数组
如果是字符串 可以用strlen函数

如果是其他数组,可以尝试用sizeof判断他的大小,但是要除掉数据结构的大小
比如int *s;
s = 某个存在的数组
大小应该等于sizeof(s)/sizeof(int)

一般来说如果定义一个数组,最好还要同时定义一个int nLength来保存数组的大小,养成这样的习惯比较好

首先用static将数组都定义为0,在程序中用下面的程序:
#include N 1000
static int a[N]={0};
k=0;
for(i=0;i<N;i++)
if(a[i]!=0)
k++;

我觉得很多人都没有想到这样子来做,我把代码写出来给你看看
#include "conio.h"
#include "string.h"
main()
{
char str[10];
gets(str);
printf("字符的个数为:%d",sprintf("%s",str));
getch();
}

  • 涓涓鍏充簬C璇█涓浜岀淮鏁扮粍鐨闂(濡備綍鍒ゆ柇鏁扮粍涓殑鏁板叏涓1?)
    绛旓細鏈鐩存帴鐨勫姙娉曞氨鏄皟鐢ㄥ嚱鏁帮紝灏嗚鏁扮粍浣滀负瀹炲弬浼犻掞紝鐒跺悗鍦ㄥ嚱鏁颁腑瀹氫箟涓涓鍙橀噺flag浣滀负鏍囪锛岀敤寰幆閬嶅巻杩欎釜浜岀淮鏁扮粍 濡傛灉鏁扮粍鍏冪礌涓1鍒欏皢flag缃负1缁х画鎵弿锛屽惁鍒欑疆涓0骞堕鍑哄惊鐜 杩斿洖flag锛宖lag涓1鍒欒〃绀烘暟缁勫厓绱犲叏涓1锛屽惁鍒欎笉鍏ㄤ负1
  • 璇烽棶鎬庝箞鐢C璇█缁熻涓涓暟缁勪腑涓嶅悓鍏冪礌瀹冧滑閲嶅鐨勪釜鏁板晩?
    绛旓細鐢C璇█缁熻涓涓暟缁勪腑涓嶅悓鍏冪礌閲嶅鐨勪釜鏁帮細public class Test { public int count(int[] array) { int len = array.length;for (int i = 0; i < array.length - 1; i++) { for (int j = i + 1; j < array.length; j++) { int num = array[i];if (array[j] == num)...
  • C璇█璋冭瘯涓濡備綍鐩戞帶鏁扮粍鍏冪礌鐨鍊?
    绛旓細watch閲岃浣犳坊鍔犵洃瑙嗭紝鍘荤湅variables 鐨 local 涓嶅瑙i噴鎴釜鍥句綘鐪嬪惂
  • ...鎬ラ渶!杈撳叆涓涓涓缁存暣鍨嬫暟缁,骞舵壘鍑鏁扮粍鍏冪礌涓鏈澶у煎拰鏈灏忓煎強鍏剁浉 ...
    绛旓細include <stdio.h>#define LEN 50 void main(){ int a[LEN]={0},i,j,min=0,iMin=0,max=0,iMax=0;printf("璇蜂釜杈撳叆鏁村瀷鏁扮粍鍏冪礌(杈撳叆0琛ㄧず杈撳叆缁撴潫):\n")锛沠or (j=0; j<LEN; j++){ scanf("%d", &a[j]);if (a[j] == 0)break;}min=max=a[0];for (i=1; i<j; i...
  • 璇烽棶鍦C璇█涓浣鑾峰彇涓涓暟缁勯噷瀛樺湪澶氬皯涓鍏冪礌?
    绛旓細鍘熺悊鏄細sizeof鑾峰彇鏁扮粍鐨闀垮害鐒跺悗闄や互鏁版嵁绫诲瀷鎵鍗犵殑闀垮害寰楀埌鍏冪礌涓暟 鎴戠畝鍗曞啓涓嬩唬鐮侊細int a[100]={1,2,3,4}; int len=sizeof(a)/sizeof(int); printf("%d\n",len);浠ヤ笂涓哄師鏉ョ殑鍥炵瓟锛屾湁閿欒:鍦ㄧ粰瀹氭暟缁勫ぇ灏忔椂鍊檚izeof杩欎釜鏂规硶灏变笉璧蜂綔鐢ㄤ簡锛屾垜褰撴椂娌℃敞鎰忕姱浜嗛敊璇湁浜涜浜哄瓙寮...
  • C璇█ 鐢ㄩ掑綊鎬濇兂鎵惧嚭涓涓暟缁勪腑鍑虹幇娆℃暟鏈澶氱殑鏁
    绛旓細鎬濊矾涓婏紝灏辨槸鍏堜粠涓涓厓绱寮濮嬶紝璁ゅ畾杩欎釜鏄渶澶氱殑锛屽悓鏃跺嚭鐜版鏁颁负1.鐒跺悗璁$畻涓や釜鍏冪礌鏃剁殑鎯呭喌锛屼笅涓涓厓绱犲鏋滃拰褰撳墠鏈澶氭鏁板肩浉鍚岋紝閭d箞鍑虹幇娆℃暟鍔犱竴锛屽惁鍒欏湪褰撳墠瑙勬ā鏁扮粍鍐缁熻涓暟锛屽瓒呰繃褰撳墠鏈澶у硷紝鍒欐浛鎹㈠煎拰娆℃暟銆傜洿鍒拌妯℃墿澶у埌褰撳墠涓暟涓庢婚暱搴︾浉绛変负姝傚弽杩囨潵鐨勮繃绋嬪氨鏄掑綊浜嗭紝瀵逛簬n涓...
  • c璇█濡備綍鍒ゆ柇涓涓厓绱鏄惁鍦ㄩ泦鍚堜腑
    绛旓細杩欓噷 闆嗗悎浣犲彲浠ョ敤鏁扮粍琛ㄧず.濡傚畾涔涓涓暟缁.include <stdio.h> void main(){ int array[ 10 ] = { 0,2,3,4,5,6,7,8,9,24} ;int num ;scanf(" num = %d ", &num) ;for( int i = 0 ; i < 10 ; i++ )if( array[ i ] == num )printf("鎮ㄦ煡鎵剧殑鏁板湪闆嗗悎array涓."...
  • c璇█缂栫▼棰:杈撳叆10涓暟瀛樻斁鍦涓涓暟缁勪腑,杈撳叆涓涓暟瀛樺叆x涓,鐒跺悗鎵惧嚭...
    绛旓細{ int y[10],x,i;printf("input 10 int data\n");for (i=0;i<10;i++) scanf("%d",&y[i]);printf("input x \n");scanf("%d",&x);printf("locations:\n");for (i=0;i<10;i++) if (y[i]==x)printf("%d ",i);return 0;} 渚嬪瓙锛歩nput 10 int data 1 3 5 7...
  • C璇█,瀹氫箟涓涓10涓鍏冪礌鐨涓缁鏁扮粍,瑕佹眰閿洏杈撳叆,杈撳嚭鏁扮粍,缁熻鏁扮粍...
    绛旓細include"stdio.h"int main(){int i,n=0,a[10];printf("璇疯緭鍏10涓暣鏁帮細\n");for(i=0;i<10;i++){scanf("%d",&a[i]);if(a[i]>10)n++;} printf("杈撳叆鐨10涓暟鏄細\n");for(i=0;i<10;i++)printf("%d ",a[i]);printf("\n鍏朵腑澶т簬10鐨勬暟鏈%d涓猏n",n);return 0...
  • ...3]鐨勫悇涓鍏冪礌鍜涓涓鏁存暟,鍒ゆ柇鏁扮粍涓鏄惁鍚湁璇ユ暣鏁?
    绛旓細include <stdio.h> int main(void){ int a[3][3];int i = 0, j = 0,num=0;printf("杈撳叆涓涓鏁村瀷浜岀淮鏁扮粍a[3][3]鐨勫悇涓鍏冪礌:\n");for (i = 0; i < 3; i++){ for (j = 0; j < 3; j++){ scanf("%d", &a[i][j]);} } printf("杈撳叆涓涓暣鏁:\n");scanf("...
  • 扩展阅读:扫一扫题目出答案 ... c输出数组中各元素 ... c语言获取数组个数 ... c++求一个数组元素之和 ... c#数组删除指定元素 ... c语言数组元素下标 ... c语言中删除指定元素 ... c数组中删除一个元素 ... c从数组中删除一个元素 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网