在C语言中很难使一个字符串等于另一个字符串,也很难使它正确地打印出来
因此,正如标题所暗示的那样,我无法让一个字符串等于另一个字符串的内容,然后正确打印。我只是对这根绳子胡说八道。代码如下:在C语言中很难使一个字符串等于另一个字符串,也很难使它正确地打印出来,c,C,因此,正如标题所暗示的那样,我无法让一个字符串等于另一个字符串的内容,然后正确打印。我只是对这根绳子胡说八道。代码如下: #include <stdio.h> #include <math.h> #include <string.h> #include <strings.h> #define MAX_STRING_LEN 4 int main(void) { int opselect, mhour, mminute, rhour, rm
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <strings.h>
#define MAX_STRING_LEN 4
int main(void)
{
int opselect, mhour, mminute, rhour, rminute, exit;
char ampm[3];
char am[3] = "AM";
char pm[3] = "PM";
printf("Please enter the military time in following format HH:MM \n");
printf("(Example 13:25)\n");
rhour = 12;
rminute = 30;
mhour = 13;
mminute = 30;
strcpy(am, ampm);
printf("If the military time is %d:%d than the regular time is %d:%d %s.\n\n", mhour, mminute, rhour, rminute, ampm);
return 0;
}
程序返回
如果军事时间是13:30比正常时间是12:30吉布斯
两个随机字符代替Gibbers。就我的一生而言,我看不出我做错了什么。任何帮助都将不胜感激
谢谢您可能想这样做: strcpyampm,am;而不是strcpyam,ampm;从右向左移动。右边是源,左边是目标 改为:
将字符串从第二个复制到第一个在我看来,ampm没有初始化,所以它只是打印当时内存中的内容。语法: strcpy目的地、来源 在您的例子中,源是具有一些垃圾值的ampm。所以你得到了意想不到的结果
这样做:-strcpyampm,am:也许strcpyampm,am;?你有向后strcpy的参数,记住它们的方法是,它们的顺序与普通赋值相同:目的地第一,来源第二。