字符数组输入不能带&,单个字符输入带&

代码

#include<stdio.h>
main()
{
 char a[20];char *p;
 printf("请输入小于20的字符串");
 scanf("%s",a);//a是数组名,就是指针,代表首地址。
 p=a;
 while(*p!=‘\0‘)p++;
 printf("%d",p-a);
}

原文地址:https://www.cnblogs.com/T0807/p/9865500.html

时间: 2024-10-02 20:51:01

字符数组输入不能带&,单个字符输入带&的相关文章

定义一个字符数组并初始化,统计字符&#39;a&#39;或&#39;A&#39;出现的次数

1 package com.imooc.array; 2 3 public class SortDemo2 { 4 5 public static void main(String[] args) { 6 //定义一个字符数组并初始化,统计字符'a'或'A'出现的次数 7 //定义一个字符数组ch并初始化 8 char[] ch={'a','b','c','A','a','d','a','e','f','g'}; 9 //循环遍历数组,统计字符'a'或'A'出现的次数 10 int sum=0;

Java 字符串与字符的转换,字符串单个字符的修改

废话不说贴上代码 public static void main(String[] args) { String word = "myWord"; char[] arr = word.toCharArray(); arr[1] = (char) ('a' + 3); word = new String (arr); for (int i = 0; i < word.length(); i++) { System.out.println(arr[i]); } System.out.

剑指offer统计字符数组中第一次出现的字符

给定一个字符串,例如"abaccdeff"则第一次出现的字符就是b: #include<iostream> #include<string> using namespace std; void first(const string &input) { if(input.empty()) return ; string::size_type length=input.size(); int *times=new int[length]; for(int i

C语言-字符串(单个字符)和字符数组

一.字符串(单个字符)和字符数组的定义 1.单个字符的定义 char i = ‘x’ (单个字符的定义) 字符串创建后为常量无法修改 2.字符数组的定义 char i [4]=”xxxx”; char i []=”xxxx”; char i [4]={‘x’’x’’x’’x’}; 其中定义的数组的元素数要比实际赋值的数量多一,用于存放\0位置 字符数组只有在定义时才能将整个字符串一次性地赋值给它,一旦定义完了,就只能一个字符一个字符地赋值了. 二字符串(单个字符)和字符数组输入 1.scanf函

关于指针 用字符数组,字符指针变量输入字符串 动态为字符型指针变量分配内存

#include <stdio.h> #include <iostream> #include<math.h> using namespace std; int main() { //声明字符型数组和指针变量 char str[10]; char *strip=str; //输入输出 cout<<"str="; cin>>str; //用字符数组输入字符串 cout<<"str="<<

C语言学习笔记:19_数组-字符数组与字符串(常用字符串函数)

/* * 19_数组-字符数组与字符串.c * * Created on: 2015年7月7日 * Author: zhong */ #include <stdio.h> #include <stdlib.h> #include <string.h> /** *一:字符数组:就是存放字符的char[]数组 * 由于c语言中没有像java,C#中的String(字符串),只有存放字符 的字符型数组当字符串使用(java中的String类也是对字符数组进行封闭的). * *

字符指针与字符数组

学了挺久的c语言,c语言有意思的就有指针这一大块,另外就是字符串,字符指针与字符数组的区别对于初学者应该是比较难以区分的,讲讲自己的看法. 1.定义上的区别 字符数组具有固定的地址,且字符数组的名字不能更改或运算. 字符指针是一个变量,用来存储首字符的地址,且指向的字符串通常为一个常量. char str[] = "helloworld"; str[4] = 'X'; printf("%s",str); 输出结果:hellXworld char *str = &qu

c语言字符数组的初始化问题

1.字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'}; 即把10个字符分别赋给str[0]到str[9]10个元素 如果花括号中提供的字符个数大于数组长度,则按语法错误处理: 若小于数组 长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即 '\0' ). 2.字符数组与字符串 在c 语言中,将字符串作为字符数组来处理.(c++中

字符数组和字符串指针的定义

今天在看书上的一段代码的时候发现有一段代码有问题,对于那段代码的错误进行一下解释. 并加强一下我们常用的两种定义字符串的方法的一些区别进行一下解释. 书上的错误代码大概如下: #include<stdio.h> void copy(char *x,char *y) { for(;*y!='\0';x++,y++) *x=*y; *x='\0'; printf("%s\n",a); } int main() { char *a="Hello!"; char