『壹』 C語言中一個弱弱的問題,我要輸入字元型和整形變數,但字元型變數中有整形轉化來的。具體如下。
#include<stdio.h>
#include<malloc.h>
#include<conio.h>
int main()
{
int a;
char data;
scanf("%d%c%c",&a,&data,&data);
printf("%d,%c",a,data);
getch();
return 0;
}
這個調試過了,來沒問題,先讓data吃掉一個自空格,然後把後面輸入的字元再給data,就行了。若以逗號隔開也是沒問題了。
『貳』 在c語言中對一個變數循環輸入整數,中間是回車還是空格
首先,來你應該是是手誤,少源了雙引號,應該是:while(scanf(「%d」,&m)!=EOF),
而問題也不是這里,由於剛裝了VS,似乎有點問題,我試著用C寫了東西,嘗試了一下,可以參考一下。
我的代碼如下:
分別為利用回車與空格。
你說的錯誤具體值什麼,是非法數據么?
我的理解你錯誤的原因有兩個,1.是輸入數據非法或者沒使用正確的EOF終止方式;2.是數據緩存區的某些東西導致出錯。
關於2,可以去了解我注釋掉的函數flushall()的功能,也許是這個的原因吧。。
望,有所幫助。。。
『叄』 C++問題求助! 如何在給一個string類型變數輸入值的時候可以輸入空格
如果是我的話,考慮用一個循環輸入,新建一個string把所有的輸入用空格連接起來,其他的想法暫時還沒有。也有人說用getline(cin,str);輸入str,你可以試一下。
『肆』 c 語言 什麼字元型變數要連續輸入,而整形變數再輸入時之間要用空格分開
整數的長度是不確定的,所以必須有分隔符號,可以是空格、回車或其它指定的符號
字元的長度是1個位元組,所以必須連續輸入才能保證按照順序依次給不同變數賦值
『伍』 c語言中整型變數與字元連續輸入
%d與%c中間沒有空格復,也是可以輸出制ch的。只要輸入的時候中間沒有空格即可。
例如輸入10c
則輸出c
沒有問題的。
除非你代碼寫的:scanf("%d%c",&a,&ch);
但是輸入的時候整數和字元之間輸入了空格。
『陸』 C語言中定義一個整形變數n,用%d錄入值,如何在輸入字母時報錯
#include <stdio.h>
int main()
{
int n;
while(scanf("%d", &n) < 1) { // scanf接受輸入幾個參數,這里 < 幾
printf("input error. try again...");
while(getchar() != '\n');
}
printf("%d", n);
}
比如
scanf("%d%d", &a, &b) < 2
scanf返回版輸入成權功的變數數,如果一個也不成功返回EOF
『柒』 c++整形變數輸出空格
空格對應的ASCII值是32,所以
int i=32;
putchar(i);
『捌』 c 語言問題 什麼字元型變數要連續輸入,而整形變數再輸入時之間要用空格分開
字元串是連續的,,字元串要有空格的話,,也會算進去長度
『玖』 C語言:一行中有字元也有整形變數,並且以空格分開。
#include<iostream>
using namespace std;
int main()
{
char a[100];
gets(a);
char alpah[100];
char num[100];
int k1=0;int k2=0;
int d=strlen(a);
for(int i=0;i<d;i++)
{
if(a[i]>='0'&&a[i]<='9')
{
num[k1]=a[i];
k1++;
}
else
{
alpah[k2]=a[i];
k2++;
}
}
cout<<alpah<<endl;
cout<<num<<endl;
int b=atoi(num);
cout<<b-1<<endl;
system("pause");
return 0;
}
這一段程序很經典,要好好研究啊,比如說atoi()函數是把char 數組轉化為int型的整數。一邊存字母,一邊存數字。char num[100];我把num定義成了char類型,主要是為了能實現atoi函數的調用。你直接設為int也行,那num[bk1]=(int )a[i]-48;就可以了。
『拾』 C語言整型變數輸入時輸入字元會怎麼樣
C語言輸入整型變數時,抄需要用到scanf函數,形式為
scanf("%d",&a);
即讀入一個整型變數,並將值賦值給a。
執行該操作時,scanf會到輸入中,讀取字元,如果是合法的整型字元(0~9),會根據規則計算值並存入到a中。當遇到非數字字元時結束。
所以,如果系統要求讀入整型時,輸入了非數字字元,那麼scanf就無法得到有效值並賦值給a,這時scanf會出錯,對a不做處理,同時以返回值方式報錯。