#includestdioh#includestringhint funint varA int varB int varCint varD int varA = 6; int varB = -20; int varC = 0; int varD = 0; string m = varA+varB 6puts6puts6; return m;int mainint argc char const
代码存在以下问题:
-
函数fun中不应该重新定义参数变量varA、varB、varC、varD,因为这些变量已经在函数参数中定义了。
-
在C语言中,字符串类型应该使用char数组来表示,而不是使用string类型。因此,应该将m的类型修改为char数组类型。
-
在函数fun中,应该使用条件语句if-else来判断varA+varB的值,并根据结果打印相应的字符串。
-
在main函数中,调用fun函数时不应该传入未定义的变量,而是应该传入具体的值。
-
在printf函数中,应该传入char数组m的地址,而不是直接传入函数fun的返回值。
修正后的代码如下:
#include<stdio.h>
#include<string.h>
void fun(int varA, int varB)
{
char m[10];
if (varA + varB > 6) {
strcpy(m, ">6");
} else {
strcpy(m, "<6");
}
printf("%s\n", m);
}
int main(int argc, char const *argv[])
{
int varA = 6;
int varB = -20;
fun(varA, varB);
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/imWk 著作权归作者所有。请勿转载和采集!