Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 接收垃圾的功能_C_Parameters - Fatal编程技术网

C 接收垃圾的功能

C 接收垃圾的功能,c,parameters,C,Parameters,我试图在一个菜单上创建一个函数,它用用户选择的字符打印半个三角形,但是当它通过引用接收参数时,它会接收垃圾,不知道为什么。如果有人能帮助我,我将不胜感激 case 2: do{system("cls"); cuadro (1,1,78,24); gotoxy(20,10);printf("Please enter number from 3 to 10 and character wanted:"); scanf("%d %d", &num, &car)

我试图在一个菜单上创建一个函数,它用用户选择的字符打印半个三角形,但是当它通过引用接收参数时,它会接收垃圾,不知道为什么。如果有人能帮助我,我将不胜感激

case 2: do{system("cls");

    cuadro (1,1,78,24);
    gotoxy(20,10);printf("Please enter number from 3 to 10 and character wanted:");
    scanf("%d %d", &num, &car);
    fflush(stdin);
    if(num<3||num>10||car>255||car<0){
        gotoxy(20,10);printf("Not what asked, Enter Again.");
        fflush(stdin);
        getchar();
        }
    }while(num<3||num>10||car>255||car<0);
    Tri(&num,&car);
    break;
案例2:do{system(“cls”);
cuadro(1,1,78,24);
gotoxy(20,10);printf(“请输入3到10之间的数字和所需字符:”);
scanf(“%d%d”,&num,&car);
fflush(stdin);

如果(num10 | | car>255 | | car 255 | | | carC没有参考参数。当您将
car
直接传递到
printf
时,您正在打印
car
本身的值,它是一个指向保存您实际想要打印的值的变量的指针。使用
printf(“%C”,*car)
打印
汽车所指向的值


我看到了其他几个错误。另外,我也不清楚您为什么首先编写
Tri
来获取指针参数。

您将指针传递给num和car,&num和&car。在函数Tri中,num和car是指向值的指针。因此,在Tri中,更改为deref。例如,更改“while”(fB由于这是实践的要求,仍然感谢您的评论和帮助。
void Tri(int*num,int*car){
    int f=1, c=1;
    system("cls");
    while(f<=num){
    c=1;
    while(c<=f){
    printf("%c",car);
    c++;
    }
    printf("\n");
    f++;
    }
    fflush(stdin);
    getchar();
}