c语言字符定义数组问题
问题描述:
题目中给出一个元素为n的字符数组,却又不能定义为n,并且还要判断数组长度是否符合要求,请问如何定义,并且如何判断长度,谢了
答
#include <string.h>
#include <stdio.h>
void main()
{
int n;
char *p;
scanf("%d",&n);
p = new char[n];
scanf("%s",p);
if(strlen(p)>n-1) printf("字符串长度不符合!\n");
else printf("%s\n",p);
delete []p;
}
答
定义一个比n+1大的数组都可以。
字符数组的长度和字符串的长度是两个概念。
判断字符串的长度,就是判断从字符数组开头到遇到'\0'字符截止之前的字符的个数
答
题目中有没有对n的大小有限制,是否有n<=100之类的,如果有,大小为101即可,另外可以动态分配内存啊
答
”一个元素为n的字符数组,却又不能定义为n“,没明白这句话,不能定义n,却又要创建n的数组,那n到底是定义了还是没有定义