PrintLines函數必須只有三個形式參數,所有類型爲int。將char型函數的int型參數賦予
從左到右,PrintLines的3參數版本中的參數表示要打印的字符的值,字符要在一行上打印的次數以及要打印的字符的行數被生產。
例如,PrintLines( 'C',5,2)將導致:
CCCCC
CCCCC
的PrintLines函數使用int類型參數來表示該字符。但請注意,當在函數原型存在的情況下調用時,所有兼容參數都將轉換爲相應函數參數的類型。這意味着即使您使用類型char變量從用戶獲取所需字符,它也會自動轉換爲int類型(如果傳遞給具有int類型參數的函數)。但是,要避免可能的編譯器警告,請在傳遞此類參數時使用類型轉換。此外,總是聲明函數來返回void類型,除非返回一個值將有意義。
我的問題是,我不知道如何正確鍵入轉換「a」參數。要求是PrintLines接受三個int參數,但是如果我爲參數「a」輸入一個非整數,則程序崩潰。我試圖在原型,函數頭和輸出中輸入「a」變量。有一些評論代碼,我已經包括,以顯示我迄今爲止嘗試過的。代碼編譯但我認爲有一個運行時/邏輯錯誤。
任何人都可以請幫忙嗎?
下面是main.cpp中
#include<iostream>
using namespace std;
int a ;
int b ;
int c ;
void PrintLines(int, int, int) ;
int main(void)
{
//cin >> (char)a >> b >> c ;
cin >> a >> b >> c ;
cout << '\n' ;
//PrintLines((char)a, b, c) ;
PrintLines(a, b, c) ;
cout << '\n' ;
system("pause");
return 0;
}
下面的代碼爲PrintLines.cpp
#include<iostream>
using namespace std;
//void PrintLines(char a, int b, int c)
//void PrintLines((char) a, int b, int c)
void PrintLines(int a, int b, int c)
{
for(int i = 0; i < c; i++)
{
for(int j = 0; j < b; j++)
{
//cout << (char) (a - 48);
//cout<< (char) a << '\n' ;
cout << a ;
}
cout << '\n' ;
}
}
我檢查了該網頁,但我無法連接點。 http://www.cplusplus.com/doc/tutorial/typecasting/ –
任何強制你聲明一個「打印」函數並使用int而不是char或std :: string的教授是不是你想要上課的教授。 –