问题描述
- 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("字符串长度不符合!
");
else printf("%s
",p);
delete []p;
}
解决方案二:
定义一个比n+1大的数组都可以。
字符数组的长度和字符串的长度是两个概念。
判断字符串的长度,就是判断从字符数组开头到遇到''字符截止之前的字符的个数
解决方案三:
C语言中数组的定义和使用
黑马程序员--C语言之数组的定义以及使用
C语言数组指针定义方法
解决方案四:
题目中有没有对n的大小有限制,是否有n<=100之类的,如果有,大小为101即可,另外可以动态分配内存啊
解决方案五:
”一个元素为n的字符数组,却又不能定义为n“,没明白这句话,不能定义n,却又要创建n的数组,那n到底是定义了还是没有定义
时间: 2024-09-20 20:09:44