我的C脚本已停止工作

时间:2015-02-25 16:55:04

标签: c printf

我正在制作一种新的编程语言以获得乐趣,当我输入'print +:'时,我会插入Pfunc1plus和Pfunc2plus,当你同时注册两个投掷数时,错误“程序已停止工作......”

#include <stdio.h>
#include <stdlib.h>

int main(){

char sysF[300];
char Pfunc[300];
int Pfunc1plus; int Pfunc2plus;

scanf("%s",sysF);
// Print
if (strcmp(sysF, "print:") == 0){
    scanf("%s",Pfunc);
    system("cls");
    printf("%s",Pfunc);
}
// Error code       
if(strcmp(sysF, "print+:") == 0) {
    scanf("%i %i",Pfunc1plus,Pfunc2plus);
    printf("%i %i",Pfunc1plus+Pfunc2plus);
} // Error code

system("pause >nul");
return 0;
}

1 个答案:

答案 0 :(得分:3)

两件事:

scanf("%i %i",Pfunc1plus,Pfunc2plus);

scanf地址带到变量中,因此您需要在&前面放置一个地址运算符(Pfunc1plus)和{ {1}}。

Pfunc2plus

您有两个整数格式说明符,但只传递一个参数(printf("%i %i",Pfunc1plus+Pfunc2plus); )。如果要打印两者,请将加法运算符更改为逗号;如果您确实要打印总和,请删除Pfunc1plus+Pfunc2plus