如何提出两个字符串数组到下1字符串数组 [英] how to make two array strings into one array string in C

查看:96
本文介绍了如何提出两个字符串数组到下1字符串数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你如何让2字符串数组到1阵列串,在那里我可以打印出所有的52张扑克牌?

How do you make 2 array strings into 1 array string, where I can print out all the 52 playing cards?

我的code:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>


int main() {
    char deck[52];
    char suits[] = {"Hearts","Diamonds","Clubs","Spades"};
    char values[]= {"Ace","Two","Three","Four","Five","Six",\
                    "Seven","Eight","Nine","Ten","Jack",\
                    "Queen","King"};
    int V, S, d = 0;
    char string;
    for ( S= 0; S <4; S++) {
        for (V =0; V< 13; V++) {
            string = strcat( values[V], suits[S]);
            deck[d] = string;
            printf("%s\n", string);//prints out all the 52 playing cards
            d++;
        }
    }

    return 0;
}

当我执行的程序,问题就来了,询问我调试程序或关闭程序,在那里我到底,这不返回任何关闭了程序。能否请您给我这工作的答案吗?

When I executed the program, the problem comes up which asks me to debug the program or close the program, where I closed the program in the end, which returns nothing. Can you please give me the answer which works?

推荐答案

检查低于code它修正你的code的问题:
与code问题是你尝试修改字符串实际打印前,由于这个原因有下一次迭代修改后的字符串。因此,只要价值观和西服复制到阵列并打印出来,如下图所示。

Check the below code which fixes the issues in your code: The problem with your code is you try to modify the actual string before printing and because of this there is a modified string in the next iteration. So just copy the values and suits to array and print it out as shown below.

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>


int main()
{
  int i=0;
  char deck[30] = "";
  char suits[][30] = {"Hearts","Diamonds","Clubs","Spades"};
  char values[][30]= {"Ace","Two","Three","Four","Five","Six",
                    "Seven","Eight","Nine","Ten","Jack",
                    "Queen","King"};
  int V, S;
  for ( S= 0; S <13; S++)
  {
    for (V =0; V< 4; V++){
    memset(deck,0,sizeof(deck));/* Clear the buffer before writing new value*/
    strcpy( deck, values[S]);
    strcat(deck,suits[V]);
    printf("%s\n", deck);//prints out all the 52 playing cards
    i++;
   }
  }
    printf("Number of playing cards: %d\n",i);

    return 0;
  }

这篇关于如何提出两个字符串数组到下1字符串数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆