没输出
为什么没输出#include<stdio.h>
#include<string.h>
int main()
{
int n,m,i,j,sum=0;
while(scanf("%d %d",&n,&m)==2)
{
sum=0;
char a,b;
for(i=0;i<n;i++)
{
scanf("%s\n",a);
}
for(i=0;i<m;i++)
{
scanf("%s\n",b);
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(strcmp(a,b)==0)
{
printf("%s",b);
sum++;
}
}
}
if(sum==0)
{
printf("sad!");
}
}
return 0;
}
在你的代码中,你没有将变量a和b赋初值。在C语言中,字符变量默认值是随机的,因此可能导致不可预测的结果。
另外,你没有在循环结束后输出sum的值,所以没有看到任何输出。
以下是修正后的代码示例:
#include <stdio.h>
int main()
{
int n, m, i, j, sum = 0;
while (scanf("%d %d", &n, &m) == 2)
{
sum = 0;
char a = 'A', b = 'B'; // 给变量a和b赋初值
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
if (i % 2 == 0)
{
sum += a; // 使用变量a
}
else
{
sum += b; // 使用变量b
}
}
}
printf("sum = %d\n", sum); // 输出sum的值
}
return 0;
}
现在代码会读取并计算输入的n和m的值,并输出每次循环计算后的sum值。注意,这里我给a和b变量分别赋了'A'和'B'的值,你可以根据需要修改成你想要的字符。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
页:
[1]