字符串-这个bug在哪里,如何为字符型指针数组赋值呢?

问题描述

这个bug在哪里,如何为字符型指针数组赋值呢?

程序如下:

 #include<stdio.h>
#include<string.h>
main()
{
    char *a[2];
    char *d;
    printf("请输入两个字符串:");
    scanf("%s%s",a[0],a[1]);
    if(strcmp(a[0],a[1])>0)
    {d=a[0];a[0]=a[1];a[1]=d;}
    printf("%s
",a);
}

解决方案

指针数组没初始化

 #include<stdio.h>
#include<string.h>
void main()
{
    char str1[80],str2[80];//修改
    char *a[2];
    char *d;
    a[0]=str1; a[1]=str2;//修改
    printf("请输入两个字符串:");
    scanf("%s%s",a[0],a[1]);
    if(strcmp(a[0],a[1])>0)
    {d=a[0];a[0]=a[1];a[1]=d;}
    printf("%s
",a[0]);//修改
}

解决方案二:

字符型的数组与指针
字符数组和 字符型指针

解决方案三:

应该这样,动态开辟内存两个字符串,每个长度为99,当然你也可以自定义长度,然后就可以进项下面的运算了
#include
#include
int main()
{
char **a;
a=new char*[2];
a[0]=new char[100];
a[1]=new char[100];
char *d;
printf("请输入两个字符串:");
scanf("%s%s",a[0],a[1]);
if(strcmp(a[0],a[1])>0)
{d=a[0];a[0]=a[1];a[1]=d;}
printf("%s
",a);

delete []a;
return 0;

}

时间: 2024-09-02 14:36:55

字符串-这个bug在哪里,如何为字符型指针数组赋值呢?的相关文章

c语言-关于字符型指针数组的理解问题

问题描述 关于字符型指针数组的理解问题 #include<stdio.h> main() { char *name[]={"zhang","gou","xu","zheng","mao","zhao","li","bai","qing"}; printf("%s ",*name[1]); } 此时

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

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

详解PHP函数 strip_tags 处理字符串缺陷bug

详解PHP函数 strip_tags 处理字符串缺陷bug PHP 函数 strip_tags() 是一个常用函数,该函数可以剥去字符串中的 HTML.XML 以及 PHP 的标签.极大方便了对字符串的操作,但是 strip_tags() 函数存在缺陷bug,由于 strip_tags() 无法验证 HTML 不完整或者破损标签将导致更多的数据被删除. 例子: $str = '<div>string</div>string<string<b>hello</b

python过滤字符串中不属于指定集合中字符的类实例

  本文实例讲述了python过滤字符串中不属于指定集合中字符的类.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # -*- coding: utf-8 -*- import sets class Keeper(object): def __init__(self, keep): self.keep = sets.Set(map(ord, keep)) def __getitem__(self, n): if n

JavaScript实现查找字符串中第一个不重复的字符

  此算法仅供参考,小菜基本不懂高深的算法,只能用最朴实的思想去表达. 代码如下: //找出字符串中第一个不重复的字符 // firstUniqueChar("vdctdvc"); --> t function firstUniqueChar(str){ var str = str || "", i = 0, k = "", _char = "", charMap = {}, result = {name: "

substring-c# 截取字符串的问题 如果在一串字符中id 在100行

问题描述 c# 截取字符串的问题 如果在一串字符中id 在100行 c# 截取字符串的问题 如果在一串字符中id 在100行 我要获取id后面的10个数字 请问怎么截取呢 解决方案 string[] lines = s.Split(new string[] {"rn"}, StringSplitOptions.None); string s = lines[99]; string result = Regex.Match(s, "(?<=id)\d{10}")

c++-怎么统计string字符串中出现频率最高的三个字符,包括汉字大小写字母

问题描述 怎么统计string字符串中出现频率最高的三个字符,包括汉字大小写字母 int main stiring str; cin>>str; cout<<"出现频率最高的三个字符是" cout<< cout<<"出现频率分别为" cout<< 解决方案 #include <map> #include <string> #include <iostream> #incl

c++-如何提取字符串中的字符型数字

问题描述 如何提取字符串中的字符型数字 char a[100]="delete N";//N为数字 要想把里面的N提取出来,因为N是字符串里的数字,所以应该是字符型,怎么把它转化 为整型(int)呢? 求解答! 解决方案 仅供参考 int getNum(char a[]) { int i =0,num =0; while(a[i] != '') { if( a[i] >= '0' && a[i] <= '9') num = num *10 +a[i] - '

《Python Cookbook(第2版)中文版》——1.10 过滤字符串中不属于指定集合的字符

1.10 过滤字符串中不属于指定集合的字符 任务 给定一个需要保留的字符的集合,构建一个过滤函数,并可将其应用于任何字符串s,函数返回一个s的拷贝,该拷贝只包含指定字符集合中的元素. 解决方案 对于此类问题,string对象的translate方法是又快又好用的工具.不过,为了有效地使用translate来解决问题,事先我们必须做一些准备工作.传递给translate的第一个参数是一个翻译表:在本节中,我们其实不需要什么翻译,所以我们必须准备一个特制的参数来指明"无须翻译".第二个参数