马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 bin554385863 于 2019-5-27 23:12 编辑 #include <stdio.h>
#include "E:\Administrator\Documents\My C\My C Function\Function.c"
size_t arrlen( size_t arr[])
{
size_t i = 1;
while (*(arr+i)!='\0')
{
i++;
}
return i;
}
int main(int argc, char const *argv[])
{
int a[] = {0,1,2,3,4,5,6,7,8,9};
int b[] = {9,8,7,6,5,4,3,2,1,0};
int c[] = {1,2,3,4,0,5,6,7,8,9};
printf("arrlen(a) = %d\n", arrlen(a));
printf("arrlen(b) = %d\n", arrlen(b));
printf("arrlen(c) = %d\n", arrlen(c));
return 0;
}
-----------------------------------------------------------------------------------------
E:\Administrator\Documents\My C>cmd /C "c:\Users\Administrator\.vscode\extensions\ms-vscode.cpptools-0.23.1\debugAdapters\bin\WindowsDebugLauncher.exe --stdin=Microsoft-MIEngine-In-z5nfovlr.ahu --stdout=Microsoft-MIEngine-Out-raqrkqg1.g3l --stderr=Microsoft-MIEngine-Error-jihjm1q3.oiv --pid=Microsoft-MIEngine-Pid-myhp2i3r.ctf --dbgExe=E:\MinGW\bin\gdb.exe --interpreter=mi "
arrlen(a) = 10
arrlen(b) = 9
arrlen(c) = 4
E:\Administrator\Documents\My C>
======================================
如上,当0在首位输出正常,
当0在中间或末尾就出现异常,
网上说的只有字符串数组的结束标志'\0';
数字数组如何判断已经结束?
字符串以一个'\0'作为结束标志那是系统约定,数字数组则无统一约定,只能根据情况,硬性规定一个不可能出现的特殊数值或组合来作为这个标志。
|