for(i=0;num[i]!='\n';i++) scanf("%c",&num[i]); 为啥无法结束输入?? num是浮点型的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for(i=0;num[i]!='\n';i++) scanf("%c",&num[i]); 为啥无法结束输入?? num是浮点型的相关的知识,希望对你有一定的参考价值。
因为scanf是默认以回车结束输入的,并且结束输入的回车不会输入到变量中,而程序一直在等待换行符的输入。用getchar或者getch这种函数输入就可以输入\n了 参考技术A #include<stdio.h>int fun(int arr[],int n)
int i,num=0;
for(i=0;i<10;i++)
if(n==arr[i])
return (i+1);
return 0;
int main()
int arr[10];
int n,i;
scanf("%d",&n);
for(i=0;i<10;i++)
scanf("%d",&arr[i]);
if(!fun(arr,n))
printf("Not found!\n");
else
printf("%d\n",fun(arr,n));
return 0;
参考技术B 类型不对,num 应改为 char 或 unsigned char 型
leetcode 31 Next Permutation
class Solution { public: void nextPermutation(vector<int> &num) { int i, j, n = num.size(); for (i = n - 2; i >= 0; --i) { if (num[i + 1] > num[i]) { for (j = n - 1; j >= i; --j) { if (num[j] > num[i]) break; } swap(num[i], num[j]); reverse(num.begin() + i + 1, num.end()); return; } } reverse(num.begin(), num.end()); } };
以上是关于for(i=0;num[i]!='\n';i++) scanf("%c",&num[i]); 为啥无法结束输入?? num是浮点型的的主要内容,如果未能解决你的问题,请参考以下文章