如何在不使用指针的情况下从数组中获取输出?
How to get an output out of arrays without using pointers?
首先,我是这个站点的新手,我是 C 编程的初学者,希望您能帮助我解决这个小问题。
这是我的代码。
#include<stdio.h>
#include<time.h>
main()
{
char user[10],temp[10];
int t;
printf("Welcome to the game of guessing\nThere are 2 choices namely a,and b\n");
getch();
printf("You just have to guess and see if u are lucky\n");
getch();
printf("Type a letter from a and b choices\n");
scanf("%s",&user[0]);
srand(time(NULL));
t=rand();
if(t%2==0)
{
char temp[0]="a";
}else
{
char temp[0]="b";
}
if(strncmp(temp,user,1)==0)
{
printf("You have guessed right. The answer is %s",user[0]);
}else
{
printf("You have guessed wrong. The answer is %s, try again",temp[0]);
}
getch();
}
好吧,这段代码创建了一个简单的猜谜游戏,你必须输入一个输入,如果你的输入与计算机的输入相符,那么你就赢了,否则你就输了。
我遇到的问题出在最后的 printf 语句中。看最后的printf
printf("You have guessed wrong. The answer is %s, try again",temp[0]);
这里的输出有点像这样。
你猜错了。答案是null,再试一次
那么这个 null 是什么,我如何让它获得临时值。
而且我总是得到错误的输出。有什么办法可以解决这个问题吗?由于这是基于等概率的,我想我应该能够在a和b之间得到平等的选择。
谢谢。
删除第一个if和else中的"char",将"a"改为'a',将"b"改为'b'。
在 printf 中应该是
printf("You have guessed right. The answer is %c",user[0]);
而不是
printf("You have guessed right. The answer is %s",user[0]);
第二个printf也一样
首先,我是这个站点的新手,我是 C 编程的初学者,希望您能帮助我解决这个小问题。
这是我的代码。
#include<stdio.h>
#include<time.h>
main()
{
char user[10],temp[10];
int t;
printf("Welcome to the game of guessing\nThere are 2 choices namely a,and b\n");
getch();
printf("You just have to guess and see if u are lucky\n");
getch();
printf("Type a letter from a and b choices\n");
scanf("%s",&user[0]);
srand(time(NULL));
t=rand();
if(t%2==0)
{
char temp[0]="a";
}else
{
char temp[0]="b";
}
if(strncmp(temp,user,1)==0)
{
printf("You have guessed right. The answer is %s",user[0]);
}else
{
printf("You have guessed wrong. The answer is %s, try again",temp[0]);
}
getch();
}
好吧,这段代码创建了一个简单的猜谜游戏,你必须输入一个输入,如果你的输入与计算机的输入相符,那么你就赢了,否则你就输了。
我遇到的问题出在最后的 printf 语句中。看最后的printf
printf("You have guessed wrong. The answer is %s, try again",temp[0]);
这里的输出有点像这样。
你猜错了。答案是null,再试一次
那么这个 null 是什么,我如何让它获得临时值。
而且我总是得到错误的输出。有什么办法可以解决这个问题吗?由于这是基于等概率的,我想我应该能够在a和b之间得到平等的选择。
谢谢。
删除第一个if和else中的"char",将"a"改为'a',将"b"改为'b'。
在 printf 中应该是
printf("You have guessed right. The answer is %c",user[0]);
而不是
printf("You have guessed right. The answer is %s",user[0]);
第二个printf也一样