لاتوجد فروقات مهمة ، لكن هناك فرق في طريقة الاستخدام ، انظر للمثال :
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x=1;
cout<<"The x value is:"<<" "<<x<<endl;
printf("The x value is: %d",x);
return 0;
}
// الخرج سوف يكون
The x value is: 1
The x value is: 1
نلاحظ لا يوجد أي فرق بين الطريقتين من حيث قيمة الخرج,لكن الفرق هو بطريقة طباعة كل من cout و printf
لكن ماذا تعني %d في printf؟
يجيب ان تخبر ال printf بنمط المتحول الذي بداخله وهذه الرموز تعبر عن نمط المتحولات
%d=int
%c=char
%s=string
%f=float
ومن الضروري وضعه، بدونه لن يطبع قيمة المتحول.
مثلا اذا كان الكود كالتالي:
#include<bits/stdc++.h>
using namespace std;
int main()
{
float x=1.1;
printf("The x value is:",x);
return 0;
}
سيكون الخرج The x value is
نلاحظ عدم طباعة اي قيمة
والتصحيح هو:
#include<bits/stdc++.h>
using namespace std;
int main()
{
float x=1.1;
printf("The x value is: %f",x);
return 0;
}