lyhk.net
当前位置:首页 >> C语言用指针输入字符串 >>

C语言用指针输入字符串

首页 科学人 问答 在行 果壳商店 音乐漫画 游戏专区 更多 分答 果壳微信号 果壳精选 登录 | 注册 果壳 问答 问答首页 发现问答 等待回答 最新问题 标签广场 提问 我要回答 C语言 电脑 1353125818.0 标签:

很多可以用现成的库函数,不知道你是否有意将代码写成这样?函数instring()中既然用了getchar(),就将其值保存下来,赋给*(p+i),c = getchar()if (c != '\n') *(p+i) = c; (要不就用一个单个的scanf("%s",p))

char *s=" "; s是指向一个常量字符串的指针,虽然这个字符串是由空格组成的,但也不能修改它,两种解决方法:一是定义一个数组,二是动态申请内存一:char s[12]; 这样就可以往s里面赋值字符串了二:char *s = (char *)malloc(sizeof(char)*12);注意用完后要free

可以使用三个数组,或者是一个二维数组来存储字符串,同时定义一个指针数组,指向三个字符串的首地址.然后对指针数组进行排序.代码如下:#include <stdio.h>#include <string.h> int main() { char buf[3][100]; char *p[3] = {buf[0],buf[1], buf[2]

#include <stdio.h> int check(char *s) { char *p=s; while(*p) p++; --p; while(s<p) { if(*s++!=*p--) return 0; } return 1; } int main() { char s[200]; scanf("%s", s); if(check(s)) printf("Yes\n"); else printf("No\n"); return 0; }

scanf("%s",)针对的是字符串 也就是char数组的首地址 你这么弄无非是想存10个字符串吧?你只有一个字符指针数组 都没分配空间 指定报错 如果你是想把字符串都存入一段连续的空间可以改为如下代码(唯一隐患是超长字符串引发的越界 此处不做处理) char str[1000]; for(int i=0,j=0;j

#include "stdio.h"#include "stdlib.h"int main(){ char *string=(char *)malloc(sizeof(char)*100); scanf_s("%s",string,100); printf("%s\n",string) ; return 0;}

#include <stdio.h> void main(void) { unsigned char i = 0, j, temp1[200], temp2[200]; /*设定变量*/ printf("\n\n\n Please Input yuan_wenzi: "); /*提示输入*/ scanf("%s", temp1); /*输入字符串到TEMP1*/ while(temp1[i] != '\0') {temp2[i] = temp1

如果不用strcmp函数而一位一位地比较,将会非常麻烦.首先要在main函数求出每个字符串的长度,再把这些长度值作为实参传给形参,这样就有六个参数了!还要在sort函数定义一个中间变量,使用冒泡排序法又要定义两个变量,这样总共就

你是指针没学明白啊,指针是一个指向地址的变量,他里面存储的是一个地址,而不能存储字符串,他只能指向字符串,这就需要申请内存来实现,用指针指向申请的内存地址,在这块内存里面来存储字符串,然后你在用指针输出才能正确,

网站首页 | 网站地图
All rights reserved Powered by www.lyhk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com