activity-c语言字符定义数组问题

问题描述

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

activity-c语言字符定义数组问题的相关文章

c语言-C语言字符数组和指针的关系

问题描述 C语言字符数组和指针的关系 #include using namespace std; void reverse(char* s) { char *p,*q,temp; p = s; q = s + strlen(s) - 1; while(p<q) { temp = *p; *p = *q; p++; q--; } } int main() { char name[] = "abcdef"; //为什么换成 char* name = "abcdef"

浅析C语言中的数组及字符数组_C 语言

我们来编写一个程序,以统计各个数字.空白符(包括空格符.制表符及换行符)以及所有其它字符出现的次数.这个程序的实用意义并不大,但我们可以通过该程序讨论 C 语言多方面的问题. 所有的输入字符可以分成 12 类,因此可以用一个数组存放各个数字出现的次数,这样比使用 10 个独立的变量更方便.下面是该程序的一种版本: #include <stdio.h> /* count digits, white space, others */ main() { int c, i, nwhite, nothe

求C语言高手解惑,一个关于const变量定义数组大小问题

问题描述 求C语言高手解惑,一个关于const变量定义数组大小问题 我在函数的外部定义了一个BlockSize,然后又定义了一个结构(两者都是在函数外部).编译的时候,出现一个error.提示说:variably modified 'array' at file scope const int BlockSize = 20;//define BlockSize 20typedef struct _node { int array[BlockSize]; struct _node* next;}N

c-如何定义并初始化一个包含中文字符的数组

问题描述 如何定义并初始化一个包含中文字符的数组 如题,在这段代码中 char str[]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; for(int i=0;i<10;i++) printf("%cn",str); 输出总为乱码怎么办? 解

c语言字符数组中回车符问题?

问题描述 c语言字符数组中回车符问题? //getline函数:将一行读入到S中并返回其长度 int getline(char s[] ,int length) { int c,i; for(i=0; i<length-1 && (c=getchar())!=EOF && c!='n';++i) s[i]=c; if(c == 'n'){ s[i] = c; ++i; } s[i]=''; return i; } 我想问一下,这里的if(c =='n')有什么用?我觉

c语言-关于字符指针数组,如何赋值?

问题描述 关于字符指针数组,如何赋值? int main() { char *a[2]={"abc","bcd"} scanf{ }; printf{ }; return 0; } 请问在scanf中输入什么代码赋值,替换"abc"abc 解决方案 指针常量不行.你得这么写 char * p= new char[100]; scanf("%s", p); 解决方案二: 字符指针数组字符数组与字符指针字符型指针数组变量定义与赋值

c语言问题 新手求解-c需要char类型定义数组的问题

问题描述 c需要char类型定义数组的问题 #include #include #define PRAISE "What a super marvelous name!" int main(void) { char name[40]; printf("What's your name?n"); scanf("%s",name); printf("Hello,%s,%sn",name,PRAISE); printf("

c语言-定义数组的初始值为0,结果在程序里涉及到了除法。

问题描述 定义数组的初始值为0,结果在程序里涉及到了除法. 定义数组的初始值为0,结果在程序里涉及到了除法,但是由于有判断,所以不会出现0做除数的问题,可是电脑可能认为我的程序会出现这种问题,然后就说程序错误,不让我执行,应该怎么办 解决方案 电脑怎么判断你除0了的,不应该会让你程序出错的 解决方案二: 不会,这是运行时错误,编译时不会判断的 解决方案三: 你用的什么编译器?一些编译器可能有编译期间的检查,你直接写 1/ 0作为表达式,因为编译器会在编译的时候试图替换成常量,因此会报错. 解决方

C语言中的数组和指针汇编代码分析实例

  这篇文章主要介绍了C语言中的数组和指针汇编代码分析实例,本文用一则C语言例子来得到对应的汇编代码,并一一注解每句汇编代码的含义,需要的朋友可以参考下 今天看<程序员面试宝典>时偶然看到讲数组和指针的存取效率,闲着无聊,就自己写了段小代码,简单分析一下C语言背后的汇编,可能很多人只注重C语言,但在实际应用当中,当出现问题时,有时候还是通过分析汇编代码能够解决问题.本文只是为初学者,大牛可以飘过~ C源代码如下: 代码如下: #include "stdafx.h" int